需求的由来
在maven工程中,使用gulp时,gulp会产生dist文件夹,不需要打包webapp/src的文件夹,所以就用到排除文件夹。
配置
在工程的父工程中,配置pom.xml,添加
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<warSourceExcludes>
src/**/*
</warSourceExcludes>
</configuration>
</plugin>
</plugins>
</pluginManagement>
这里使用maven-war-plugin插件,因为打包默认就是使用这个插件,所以配置在父pom.xml的pluginmanaget,子module就会继承此插件。
解释
configuration元素下,可以使用packagingExcludes、warSourceExcludes,但用法不一样
packagingExcludes
packagingExcludes,逗号分隔,是用在“瘦身版”war,主要用来移除jar文件,比较正式的名字是 Creating Skinny WAR;在j2ee规范中,一个ear包,包含多个war
为了减少冗余lib中的jar包,允许在war中引用ear,所以,packagingExcludes就用来排除war中的WEB-INF/lib中的jar包,最初用packagingExcludes,各种不好使,原来packagingExcludes是用来排除jar包的,而不是排除文件夹的。
warSourceExcludes
warSourceExcludes,逗号分隔,在copy webcontent文件的时候,排除某些文件夹