maven打包排除指定文件和多个jar包
maven打包排除指定文件和多个jar包
1.packagingExcludes 排包使用方法:参考官网
2.在项目的pom.xml文件里面添加如下配置:除了需要cloud-member-facade和commons这两个包,其他包全部去除
<build>
<finalName>${project.name}-${maven.build.timestamp}</finalName>
<resources>
<!-- MAPPER XML文件原样复制 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
</includes>
</resource>
<!-- module version文件动态替换 -->
<resource>
<directory>src/main/resources/version</directory>
<filtering>true</filtering>
<targetPath>version</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<!-- 这里默认排除掉所有的jar包,因为需要的包在common这个模块里面都包含了 -->
<!-- 排除支持wildcard写法也支持正则表达式,具体写法可参看https://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html -->
<!-- DEMO: %regex[WEB-INF/lib/(?!admin-).*.*.jar],表示仅将admin-开头的jar包放到lib下面 -->
<configuration>
<packagingExcludes>WEB-INF/classes/*_jdbc.properties,
%regex[WEB-INF/lib/(?!cloud-member-facade|commons).*.*.jar]</packagingExcludes>
</configuration>
</plugin></plugins></build>
3.配置说明:
- WEB-INF/classes/*_jdbc.properties: 过滤 任何前缀的 _jdbc.properties 配置文件
%regex[WEB-INF/lib/(?!cloud-member-facade|commons)...jar]通过正在表达式配置打包时,排除除了cloud-member-facade和commons的 1任何版本的jar包。即打包时只添加这两个jar包到war包里面,其他的任何jar都排除不打包进去
还没有评论,来说两句吧...