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.配置说明:

1. WEB-INF/classes/*_jdbc.properties: 过滤 任何前缀的 _jdbc.properties 配置文件

2.

%regex[WEB-INF/lib/(?!cloud-member-facade|commons).*.*.jar]通过正在表达式配置打包时,排除除了cloud-member-facade和commons的 1任何版本的jar包。即打包时只添加这两个jar包到war包里面,其他的任何jar都排除不打包进去 

猜你喜欢

转载自blog.csdn.net/caox_nazi/article/details/80525113