2013-04-22 46 views
5

我使用Maven的戰爭插件構建.war文件如何從我的Maven構建資源排除在外,packagingExcludes不工作

我使用packagigExcludes,它工作正常的.jar文件:

<packagingExcludes>WEB-INF/lib/jetty-*.ja       
         WEB-INF/../resources/log4j.properties, 
         WEB-INF/../resources/web.properties 
        </packagingExcludes> 

但屬性文件上面沒有得到已排除,我也試過:

src/main/resources/web.properties 

這是一個多模塊Maven項目,和我一m爲這個春天mvc maven項目構建一個.war文件,我必須排除這些文件,但它不起作用。

任何指針?

回答

9

我只是想你...你確定你正在做的配置在正確的地方?我的聚甲醛是這樣的:

<?xml version="1.0"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <parent> 
     <groupId>com.example</groupId> 
     <artifactId>example-parent</artifactId> 
     <version>0.1.4-SNAPSHOT</version> 
    </parent> 
    <artifactId>example-webapp</artifactId> 
    <packaging>war</packaging> 
    <url>http://maven.apache.org</url> 
    <dependencies> 
     [...] 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes> 
       </configuration> 
      </plugin> 
     </plugins> 
     <finalName>example-webapp</finalName> 
    </build> 
</project> 

---->編輯

到exlude從資源的東西,你就必須做到這一點:

  <plugin> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <packagingExcludes> 
         WEB-INF/classes/log4j.properties 
        </packagingExcludes> 
       </configuration> 
      </plugin> 
+0

但是你甚至不試圖從資源文件夾中排除資源?就像我的例子中的web.properties一樣。 .jar文件也適用於我。 – Blankman 2013-04-22 03:44:23

+1

是的 - 但保重!資源實際上並不在資源中......東西來自/ src/main /資源敵人進入/ WEB-INF/classes /所以你可能想排除\t \t \t \t \t WEB-INF/classes/log4j.properties改爲 rmalchow 2013-04-22 03:47:55

+0

。下面的解決方案首先阻止這些文件被複制(從src到目標),所以它可能也會起作用。 – rmalchow 2013-04-22 03:48:42

2

添加這pom.xml

</build> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <excludes> 
       <exclude>web.properties</exclude> 
      </excludes 
     </resource> 
    </resources> 
</build> 
+0

對不起忘了提,我使用該maven戰爭插件來建立一個.war文件,我仍然應該嘗試嗎? – Blankman 2013-04-22 03:41:45

+0

是的<!------------> – 2013-04-22 03:45:58

+0

好吧,如果您記住src/main/resources的內容被複制到$ {target}/WEB- INF/classes /,所以你必須排除這些路徑,而不是源文件夾中的路徑。 – rmalchow 2013-04-22 03:52:00