2013-12-12 37 views
1

我的目標是將兩個Maven模塊(packaging:jar)的src/main/resources中的兩個XML文件(都命名爲info.xml)合併到目標WAR檔案中。Maven shade插件不合並文件

proj1:包含src/main/resources/info.xml

proj2:包含src/main/resources/info.xml

網絡:網絡項目,該項目應包含proj1和proj2合併info.xml。我宣佈在Web項目中的插件:

<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項目及其模塊我有一個建設項目有:

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

我在構建項目和使用mvn clean package命令嘗試結果我的web/target/web.war包含解壓後的庫(ueber.jar,我真的不想)和沒有合併的info.xml文件。

我在做什麼錯?

回答

0

您必須配置Transformers合併文件,因爲它通常需要額外的邏輯,特別是XML。有關詳細信息,請參見Resource Transformers