Maven War Plugin打包时如何排除resources下的app文件夹
问题原因
packagingExcludes参数匹配的是war包内部的最终存储路径,而非本地项目的源码路径。src/main/resources下的资源在构建后默认会被放到war包的WEB-INF/classes/目录下,你当前配置的src/main/resources/config/app/**无法匹配到war包内的目标文件,所以排除规则不生效。
可行解决方案
方案1:修正packagingExcludes路径
直接修改maven-war-plugin下的packagingExcludes配置为war包内的实际路径即可:
<packagingExcludes>WEB-INF/classes/config/app/**</packagingExcludes>
该方案只会在打war包时排除目标文件夹,不影响其他打包流程。
方案2:全局配置资源排除
如果所有打包场景都不需要app文件夹,可以在全局build的资源配置中添加排除规则,和plugins标签平级添加以下配置:
<build> <finalName>${project.name}</finalName> <sourceDirectory>src/main/java</sourceDirectory> <!-- 新增资源配置 --> <resources> <resource> <directory>src/main/resources</directory> <excludes> <exclude>config/app/**</exclude> </excludes> </resource> </resources> <!-- 原有plugins配置保持不变 --> <plugins> ... </plugins> </build>
内容的提问来源于stack exchange,提问作者Remo
相关产品推荐
相关产品推荐

