maven打包排除指定文件(jar包)

在使用maven打包时,有些时候需要排除某些文件或者排除某些jar,不把这个文件和jar打入到war包里面

一、在项目的pom.xml文件里面添加如下配置:

<plugin>
                <groupId>org.apache.maven.pluginsgroupId>
                <artifactId>maven-war-pluginartifactId>
                <version>2.2version>
                <configuration>
                    <webappDirectory>src/main/webappwebappDirectory>
                    <workDirectory>${project.build.directory}/workworkDirectory>
                    <useCache>falseuseCache>
                    
                    <packagingExcludes>
                        WEB-INF/classes/*_jdbc.properties,
                        %regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
                    packagingExcludes>
                    <archive>
                        <addMavenDescriptor>trueaddMavenDescriptor>
                    archive>
                configuration>
            plugin>

配置说明:
1. WEB-INF/classes/*_jdbc.properties: 过滤 任何前缀的 _jdbc.properties 配置文件(如:我上篇博客自动打不同环境的包中提到的添加的不同环境的jdbc配置文件,那么在打包时候,排除自己添加的这个配置文件)
2. %regex[WEB-INF/lib/(?!log4j-1|common-1)...jar] 通过正在表达式配置打包时,排除除了log4j-1和common-1 的 1.任何版本的jar包。即打包时只添加这两个jar包到war包里面,其他的任何jar都排除不打包进去
(PS:为了tomcat 共享jar包,所以项目中不打jar,当然除了自己项目间相互依赖的jar,比如这个jar会经常自己修改,那么经常修改的,就不排除,打包时候把他们也打进去。对于tomcat如何共享jar包,后续再详细描述)
3. 如果有多个条件,用逗号隔开。对于packagingExcludes 的详细使用,请查看官网:
http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html

你可能感兴趣的:(maven,工作学习心得,maven,jar,打包排除)