jar命令行打包jar包
的有关信息介绍如下:一般情况下,当我们想要修改某个jar中的配置文件的时候,不会重新生成jar,尤其在手里没有源代码的时候。
一般是执行 jar xvf demo.jar 解压出来,然后修改配置,再打包。
以前打包jar cvf demo.jar ./ 可以直接打包,没有问题。
但是不知道是不是1.8的原因,直接打包不可以了。需要加入其他的参数。
例如jar包文件:demo.jar 。
解压文件执行:
#jar xvf demo.jar
然后修改配置文件,修改完成后,重新打包:
#jar cvf demo.jar ./
此时运行脚本,会发现报错。
检查打包输出信息,发现mainfest 被忽略了,没有打包进来。
jar查看帮助命令
#jar -h
-m参数可以将 一个具体的mainfest文件打包进入jar内生成mainfest文件。
因此加入-m,指定具体的mainfest文件
#jar cvfm demo.jar META-INF/MANIFEST.MF ./
这时候从控制台输出信息中没有ignoring mainfest信息了。
重新执行java -jar demo.jar没有出现上面的错误了,但是出现错误
说是jar文件被压缩了,需要的是一个不被压缩的可执行文件。
查看上面输出,发现确实被压缩了。
继续查看jar -h帮助信息。
其中-0 是store only;use no zip compression 只存储,不压缩。
加入这个参数重新打包。
#jar -cvfm0 demo.jar META-INF/MAINFEST.ME ./
打包完成后,重新运行
#java -jar demo.jar
发现已经没有错误了。