2011-03-16 2 views
2

Maven 빌드의 경우 exploded 디렉토리가 war 플러그인으로 작성된 후 일부 파일을 복사해야합니다. 전쟁 중/이후에 antrun 플러그인을 실행할 수 있습니까? 그렇다면 어떻게해야합니까? 나는 시도했다 :전쟁 중 antrun 실행 : exploded

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-antrun-plugin</artifactId> 
     <executions> 
     <execution> 
      <phase>war</phase> 
      <goals> 
      <goal>exploded</goal> 
      </goals> 
      <configuration> 
      <tasks> 
       <echo>Running ant task...</echo> 
      </tasks> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

그리고 다른 몇 가지 변종을 실행할 수없는 것 같습니다.

Idealy 전 전쟁을 수행하면 개미 작업을 실행하고 싶습니다. 전쟁도 있습니다. 그러나 전쟁을 할 때이 다리를 건너겠습니다. 당신은 단지 특정 플러그인의 특정 목표를 호출

mvn war:war 데르 mvn war:exploded를 호출 할 때 플러그인

의 직접 호출을 사용하여 :

답변

0

그것을 달성하기 위해 적어도 두 가지 방법이 있습니다. 다른 플러그인은 실행되지 않습니다. pom.xml에 정의 된 실행은 관련이 없습니다. 결과적으로 여러 개의 플러그인 목표를 직접 호출 할 수 있습니다 (예 : mvn war:exploded antrun:run).

여러 모듈을 빌드 할 때주의해야합니다. mvn war:exploded antrun:run은 각 모듈의 war 플러그인 이후에 antrun을 실행합니다. mvn war:exploded; mvn antrun:run은 모든 모듈에 대해 war 플러그인을 실행 한 다음 모든 모듈에 대해 antrun을 수행합니다. 사전 통합 테스트를 위해 mvn pre-integration-test를 호출 할 때 플러그인

의 라이프 사이클 바인딩을 사용

, 당신은 default lifecycle의 모든 단계를 호출합니다. "패키지"단계에서 "전개 된"목표에 대한 war 플러그인 실행을 정의하고 "사전 통합 테스트"단계에서 목표 "실행"에 대한 antrun 실행을 정의 할 수 있습니다.


기본 수명주기에는 "전쟁"단계가 없습니다. 따라서 위 예제는 기본 수명주기에서 작동하지 않습니다. 또한 사용자 정의 단계가 포함 된 사용자 정의 라이프 사이클의 경우 사용자 정의 플러그인이 필요합니다.