java jar怎么把指定目录排除掉再进行打包?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java jar怎么把指定目录排除掉再进行打包?相关的知识,希望对你有一定的参考价值。

jar命令是把某个目录下的所有文件一起打包 但是假如我某个目录下的某个文件不想一起打包该怎么操作?

参考技术A 在项目的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
参考技术B 打包之后用压缩软件打开,删掉就行了

spring boot使用gradle打包怎么样排除指定jar包

参考技术A 不管是在Eclipse或是在IntelijIdea中,都有比较好的方法进行打包,但是在gradle时代,打JAR包就只好自己动手写脚本了。jar包其实就是把所有的class文件集合在一起,只要我们找到了编译时的输出目录即可。观察下,在build/intermediates/classes/release(debug)下有生成临时的class,这就是我们需要的路径了,然后,使用gradle中预定义Jar的task,进行配置即可。

以上是关于java jar怎么把指定目录排除掉再进行打包?的主要内容,如果未能解决你的问题,请参考以下文章

maven把java项目打包,如何把配置文件提出来

使用maven打包指定目录

spring boot使用gradle打包怎么样排除指定jar包

如何将一个Java项目打包打成多个Jar包

java如何打包

怎么把java文件打包成jar文件