2013-12-12 3 views
1

내 목표는 두 개의 Maven 모듈 (packaging:jar)의 src/main/resources에있는 두 개의 XML 파일 (모두 info.xml)을 대상 WAR 아카이브에 병합하는 것입니다.Maven 음영 플러그인이 파일을 병합하지 않습니다.

으로 Proj1는 : src/main/resources/info.xml

proj2를 포함으로 Proj1 및 proj2에서 병합 된 info.xml을 포함해야 웹 프로젝트 : src/main/resources/info.xml

웹이 포함되어 있습니다. 내가 빌드 프로젝트와 같은 mvn clean package 명령을 사용하여 시도

<modules> 
    <module>proj1</module> 
    <module>proj2</module> 
    <module>web</module> 
<modules> 

:

<build>  
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-shade-plugin</artifactId> 
      <version>2.2</version> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>shade</goal> 
        </goals> 
        <configuration> 
         <transformers> 
          <transformer 
           implementation="org.apache.maven.plugins.shade.resource.XmlAppendingTransformer"> 
           <resource>info.xml</resource> 
          </transformer> 
         </transformers> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

내가 함께 빌드 프로젝트가 웹 프로젝트의 모듈을 빌드하려면 : 나는 웹 프로젝트에서 플러그인을 선언 결과 내 web/target/web.war에는 압축 해제 된 libs (내가 정말로 원하지 않는 ueber.jar)와 병합 된 info.xml 파일이 없습니다.

내가 뭘 잘못하고 있니?!

답변

0

파일을 병합하려면 Transformers을 구성해야합니다. 추가 논리, 특히 XML이 필요하기 때문에 파일을 병합해야합니다. 자세한 내용은 Resource Transformers을 참조하십시오.

관련 문제