您的位置:首页 > 其它

warSourceExcludes和packagingExcludes

2016-10-18 00:00 183 查看
项目中在打包的时候时常要忽略一些只在本地使用的文件,比如一些test文件夹或者本地配置,刚刚开始使用maven-war-plugin的warSourceExcludes和packagingExcludes这两个参数还真是搞得有点晕,多试验了几次明白了,现在分享一下我的理解。

引用官网的说明:


warSourceExcludesString-Thecommaseparatedlistoftokenstoexcludewhen?copyingthecontent?ofthewarSourceDirectory.
packagingExcludesString2.1-alpha-2Thecommaseparatedlistoftokensto?excludefromtheWARbeforepackaging.Thisoptionmaybeusedtoimplement?theskinny?WARusecase.
引用我负责的一个项目对maven-war-plugin的配置:


<packagingExcludes>**/application*.properties,**/spy.properties</packagingExcludes><warSourceExcludes>test/*,venue/**</warSourceExcludes>


声明:packagingExcludes中的*.properties文件均位于src/main/resources目录中warSourceExcludes中的?test/*,venue/**位于src/main/webapp目录中

运行mvnpackage命令后结果是:

target/mywebapp-1.0.4(文件夹)下面原码中存在的test和venue目录没有复制过来(warSourceExcludes忽略成功),其他的文件和目录没有变化

对于packagingExcludes的配置意思是从mywebapp-1.0.4文件夹中复制文件时忽略的文件列表,所以最后打包的war里面不包含test、venue文件夹和packagingExcludes中指定的文件

简单一句话说明:


warSourceExcludes是在编译周期进行完成后从src/main/webapp目录复制文件时忽略,而packagingExcludes是在复制webapp目录完成后打包时忽略target/mywebapp-1.0.4文件夹的文件

说明:

这里使用了warSourceExcludes和packagingExcludes两个参数为的就是演示一下含义,比如在打包产品的时候完全可以使用warSourceExcludes这一个参数来忽略文件,这样就可以省略packagingExcludes这个参数了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息