在進行項目發佈的時候,可能會碰到這樣的狀況, 但願在保持項目源代碼不變的前提下,但願可以針對不一樣的運行環境得到相應的運行包.(好比war包)css
基本配置 :(包括排除 不想打進war包的jar 的配置)web
<build> <filters> <!-- 過濾文件,一般是一個屬性文件(名值對的形式) --> <filter>src/main/webapp/META-INF/auto-config.properties</filter> <!-- <filter>${user.home}/antx.properties</filter> --> </filters> <finalName>communitytag</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <version>2.1-alpha-1</version> <configuration> <!-- 打包以前過濾掉不想要被打進 .war包的jar,注意:這個地方,原本路徑應該是 WEB-INF/lib/anaalyzer-2.0.4.jar,可是通過屢次試驗,不能這樣,至於咋回事兒,搞不清楚。。經多方查證均無結果 暫且這樣吧,雖然顯得很醜陋,可是總能解決問題吧 --> <warSourceExcludes>*/lib/analyzer-2.0.4.jar</warSourceExcludes> <webResources> <resource> <!-- 元配置文件的目錄,相對於pom.xml文件的路徑 --> <directory>src/main/webapp/WEB-INF</directory> <!-- 是否過濾文件,也就是是否啓動auto-config的功能 --> <filtering>true</filtering> <!-- 目標路徑 --> <targetPath>WEB-INF</targetPath> </resource> </webResources> </configuration> </plugin> </plugins> </build>
參考:http://nileader.blog.51cto.com/1381108/449956apache
maven-war-plugin 官網: http://maven.apache.org/plugins/maven-war-plugin/app