2014-07-07 2 views
2

여기 상황이 있습니다. 전쟁이 생성되기 전에 yuicompressor plugin과 replacer plugin을 적용하고 싶습니다. 그래서 대체 파일을 적용하고 을 복사 한 후 대상 폴더에을 복사 한 후 파일에 작업을 압축해야합니다. 문제는 (정적 파일 jsp/js 또는 다른 webapps ') 패키지주기 전에 복사되지 않습니다.
maven 버전 m2e 3.0.4를 사용하면 주문이 작동합니다.
Maven 플러그인 실행 순서

기본 전쟁 전에 수동으로 웹 응용 프로그램 콘텐츠를 복사하려면 어떻게해야합니까? 그리고 만약 내가 그것을 복사한다면, 어떻게 든 겹쳐 쓰기에 의해 그것을 다시 복사 할 것입니다.
1.yuicompressor
2.replacer
3.war

그리고 치어의 플러그인 주문이에 대한 :

<plugin> 
       <groupId>net.alchim31.maven</groupId> 
       <artifactId>yuicompressor-maven-plugin</artifactId> 
       <version>1.4.0</version> 
       <executions> 
        <execution> 
         <id>compressor</id> 
         <phase>package</phase> 
         <goals> 
          <goal>compress</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <!-- compressing --> 
       </configuration> 
      </plugin> 
      <!-- js/css replacer --> 
      <plugin> 
       <groupId>com.google.code.maven-replacer-plugin</groupId> 
       <artifactId>replacer</artifactId> 
       <version>1.5.3</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>replace</goal> 
         </goals> 
        </execution> 
       </executions> 

       <configuration> 
        <!-- replacing --> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.1.1</version> 
       <executions> 
        <execution> 
         <phase>package</phase> 
         <goals> 
          <goal>war</goal> 
         </goals> 
        </execution> 
       </executions> 
       <configuration> 
        <webXml>src/main/webapp/WEB-INF/web.xml</webXml> 
       </configuration> 
      </plugin> 

하지만 내가 할 내가 받는다는 플러그인의 원하는 어떤 순서

패키지 단계 중 :

메일 로그 :

[INFO] 
[INFO] --- maven-war-plugin:2.4:war (default-war) @ Scheduler --- 
[INFO] Packaging webapp 
[INFO] Assembling webapp [Scheduler] in [D:\Development\TFCore\target\Scheduler] 
[INFO] Processing war project 
[INFO] Copying webapp resources [D:\Development\TFCore\src\main\webapp] 
[INFO] Webapp assembled in [24946 msecs] 
[INFO] Building war: D:\Development\TFCore\target\Scheduler.war 
[INFO] 
[INFO] --- yuicompressor-maven-plugin:1.4.0:compress (compressor) @ Scheduler --- 
[INFO] generate aggregation : D:\Development\TFCore\target\Scheduler\scripts\base.js 
[INFO] base.js (4368673b) 
[INFO] generate aggregation : D:\Development\TFCore\target\Scheduler\styles\base.css 
[INFO] base.css (732042b) 
[INFO] nb warnings: 0, nb errors: 0 
[INFO] 
[INFO] --- replacer:1.5.3:replace (default) @ Scheduler --- 
[INFO] Replacement run on 302 files. 
[INFO] 
[INFO] --- maven-war-plugin:2.4:war (default) @ Scheduler --- 
[INFO] Packaging webapp 
[INFO] Assembling webapp [Scheduler] in [D:\Development\TFCore\target\Scheduler] 
[INFO] Processing war project 
[INFO] Copying webapp resources [D:\Development\TFCore\src\main\webapp] 
[INFO] Webapp assembled in [22159 msecs] 
[INFO] Building war: D:\Development\TFCore\target\Scheduler.war 
+1

POM을 보여줄 수 있습니까? – Puce

+0

Replacer를 실행하기 위해 사용하는 mvn 명령은 무엇입니까? – monal86

답변

2

maven-war-plugin 실행의 중복을 유발하는 실행시 다른 id (기본값)로 프로젝트에서 maven-war-plugin을 두 번째로 정의했습니다. 그 외에도 yuicompressor를 replacer-plugin뿐 아니라 prepare-package 단계에 바인딩 할 수 있습니다. yuicompressor 및 replacer plugin의 실행 순서는 pom.xml 파일 내의 순서에 따라 제공됩니다.

+1

+1'준비 - 패키지 '단계를 사용합니다. –

+0

@RyanRansford mvn replacer를 실행하는 데 사용되는 명령은 무엇입니까? null 파일이 존재하지 않습니다. mvn을 실행하는 중에 오류가 발생합니다 : – monal86

+0

@ user1610812 바꾸기 'mvn : '을 사용하여 모든 비 핵심 메이븐 플러그인 (groupId는 maven- -plugin과 유사하지 않음)을 실행합니다. 그러므로이 경우에는 replacer 플러그인 만 실행하려면'mvn com.google.code.maven-replacer-plugin : replacer'를 사용하십시오. –

관련 문제