1、Maven-war-plugin插件中去除WEB-INF中的classes
在Maven中使用maven-war-plugin插件打war包,但有时会将classes文件另外打成jar包,classes文件不再需要,那么如何将它从war包中去除呢?
答案是使用packagingExcludes属性,在packagingExcludes中可以将不需要的文件排除在外:
<packagingExcludes>WEB-INF/classes/**/**</packagingExcludes>
注意:路径可能需要根据实际情况调整。
2、Maven-war-plugin插件中packagingExcludes与webResources的比较
(1)相同点:
packagingExcludes与webResources 均可以排除某些文件。
(2)不同点:
packagingExcludes针对拷贝到target后的资源进行处理。
webResources针对编译前的资源进行处理。
较完整的例子如下:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warSourceDirectory>WebContent</warSourceDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
<packagingExcludes>WEB-INF/classes/**/**</packagingExcludes>
<!--
<webResources>
<resource>
<directory>target/${project.artifactId}/WEB-INF/classes</directory>
<excludes>
<exclude>**/**</exclude>
</excludes>
</resource>
</webResources>
-->
</configuration>
</plugin>