복붙노트

[HADOOP] 종속 관계없이 원격 컴퓨터에 종속 JAR의 Maven 프로젝트

HADOOP

종속 관계없이 원격 컴퓨터에 종속 JAR의 Maven 프로젝트

나는 메이븐과 자바에 새로운 오전. 나는 원격 시스템에 HDFS의 맵리 듀스 작업을 실행하려합니다. I / 쓰기 종속성 파일을 편집 할 수있는 권한이 없습니다. 내 Maven 프로젝트를 JAR 내 맵리 듀스 작업에 전달할 수 있었다 궁금 해서요. 내가 그나마 그 방법은 받는다는 프로젝트 종속성을 원격 시스템에 SSH를 변경해야합니다. 내 맵리 듀스 작업을 실행하는 원격 시스템에 포함되지 않은 모든 필요한 종속성이 포함 된 JAR를 사용합니다.

해결법

  1. ==============================

    1.당신은 받는다는 조립 플러그인 그렇게 할 수 있습니다.

    당신은 받는다는 조립 플러그인 그렇게 할 수 있습니다.

    당신의 POM에 추가하고 그에 따라 구성 (아래에있는 내 예를 보라).

    이것은 그 명령 줄에서 항아리를 실행하는 데 필요한 모든 종속성을 포함, 추가 항아리를 만들 것이고, 두 번째 생각에 실행되는 main () 메소드와 클래스를 (표시합니다 지정할 수있는,이는 선택 사양 일 수 메인 클래스 자바 -jar를 실행).

    여기에 (의 일부) 내 MainJooqClass입니다 :

    package sunshine.web.shaker.main;
    
    // imports
    
    public class MainJooqClass {
    
        public static void main(String[] args) {
    
            // code
    
        }
    
    }
    

    그리고 여기에 플러그인을 구성하는 내 POM의 일부입니다 :

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    
        <!-- ... -->
    
        <build>
            <plugins>
    
                <plugin>
                    <artifactId>maven-assembly-plugin</artifactId>
                    <version>2.4.1</version>
                    <configuration>
                        <descriptorRefs>
                            <descriptorRef>jar-with-dependencies</descriptorRef>
                        </descriptorRefs>
                        <archive>
                            <manifest>
                                <mainClass>sunshine.web.shaker.main.MainJooqClass</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                    <executions>
                        <execution>
                            <id>make-assembly</id>
                            <phase>package</phase>
                            <goals>
                                <goal>single</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
    
            </plugins>
        </build>
    
        <dependencies />
    
    </project>
    
  2. from https://stackoverflow.com/questions/29308719/jar-maven-project-with-dependencies-on-remote-machine-without-dependencies by cc-by-sa and MIT license