2009-11-14 5 views
6

다중 모듈 프로젝트를 빌드하기 위해 Maven 2.0.9를 사용하고 있습니다. 부모 pom에 어셈블리 플러그인을 정의했습니다.다중 모듈 프로젝트 - 어셈블리 플러그인

mvn install assembly:assembly 

이 명령은 테스트를 설치 단계에서 한 번씩, 어셈블리 단계에서 한 번씩 두 번 실행합니다. 나는 어셈블리를 시도 : 단일하지만 오류가 throw됩니다. 테스트를 두 번 실행하지 않고 빌드 된 어셈블리를 얻으려면 도움이됩니다.

+0

오류를 알려주십시오. 그것이 없으면 아무 말도하지 않습니다. –

답변

7

어셈블리 mojo를 호출하면 Maven은 package 단계까지 정상적인 라이프 사이클을 사용하여 프로젝트를 빌드합니다. 실제로 두 번 몇 가지를 실행 받는다는 말하고있다

mvn install assembly:assembly 

및 기본 라이프 사이클의 documentation에서 볼 수 있듯이이 테스트 단계를 포함 : 그래서, 때 당신이 실행됩니다.

mvn assembly:assembly 

또는 프로젝트의 빌드 라이프 사이클에 플러그인을 결합 :이 문제를 방지하려면

만 실행 해보십시오

<project> 
    ... 
    <build> 
    ... 
    <plugins> 
     <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <configuration> 
      ... 
     </configuration> 
     <executions> 
      <execution> 
      <id>make-assembly</id> <!-- this is used for inheritance merges --> 
      <phase>package</phase> <!-- append to the packaging phase. --> 
      <goals> 
       <goal>single</goal> <!-- goals == mojos --> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     ... 
</project> 
+0

안녕하세요, 파스칼 Thivent : 귀하의 답변은 mvn 설치 어셈블리 : 어셈블리와 mvn 어셈블리 : 어셈블리의 차이점을 이해하는 데 도움이되었습니다. mvn assembly : assembly와 mvn package assembly : assembly의 차이점을 이해할 수 있습니까? – Patricia

1

내가 오류 메시지가 잘못된 생각, 그것은 당신이 실행해야합니다 제안 SAME maven 호출 내에서 어셈블리 플러그인 호출 자체와 같은 "패키지"단계.

"mvn 패키지 어셈블리 : 어셈블리"또는 "mvn 설치 어셈블리 : 어셈블리"를 시도 했습니까?

Linux, JDK 1.6.0_16, Maven 2.2.1, Assembly Plugin 2.2-beta-4에서 작동합니다.

+0

위에서 제안한 POM 스 니펫 ('ackage 단계'에 바인딩 어셈블리 플러그인)은 똑같이 작동해야합니다. 그러면 명령 줄에서 어셈블리 플러그인을 명시 적으로 호출 할 필요가 없다는 것을 명심하십시오. 'mvn 패키지'(또는 'mvn install')도 자동으로 어셈블리를 생성합니다. 비록 내가 그런 식으로 어셈블리 플러그인을 사용한 적이 있는지 확실하지 않습니다. 자주 생성되는 어셈블리에 신경 쓰지 않기 때문에 대개 명시 적으로 호출합니다. – JavaGuy

+0

나는 phase, ram mvn install 또는 mvn 패키지를 패키지하거나 설치하기 위해 어셈블리 플러그인을 묶었습니다. 여전히 같은 오류. 이는 다중 모듈 프로젝트에서만 발생합니다. – user209947

관련 문제