您的位置首页百科问答

jar命令行打包jar包

jar命令行打包jar包

的有关信息介绍如下:

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

发现已经没有错误了。