1. java jar怎麼把指定目錄排除掉再進行打包
在項目的pom.xml文件裡面添加如下配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<warName>loginweb</warName>
<outputDirectory>target</outputDirectory>
<!-- 排除 -->
<packagingExcludes>
WEB-INF/classes/*jdbc.properties,
WEB-INF/classes/*config.properties,regex[WEB-INF/lib/(?!log4j-1|common-1).*.*.jar]
</packagingExcludes>
</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