如何替换jar包中的文件

作者: wencst 分类: JAVA,微服务,程序设计 发布时间: 2024-06-24 22:54 阅读: 830 次

背景

最近有部分线上jar包中出现了问题,在没有源代码的情况下,如何快速修改jar包中的配置文件呢?

方法

1.解压

mv a.jar b.zip
unzip b.zip

2.修改对应的文件

3.重新打包(在解压后的文件夹中)

jar -cMf c.jar *

重新执行c.jar即可

其他知识

全程注意命令行后面的点(.),表示当前目录,不能删除。

jar -cf c.jar . //重新打包本目录下的文件到c.jar,此时会提示没有主程序,因为会重新生成MANIFEST.MF

jar -cfm c.jar ./META-INF/MANIFEST.MF . //重新打包当前目录下文件到c.jar,此时会提示部分jar包找不到,原因是当压缩时,把原本lib目录下的jar包又压缩了一遍,因此java -jar执行时无法识别服务中引用的jar包

jar -uf c.jar ./META-INF/MANIFEST.MF //仅更新./META-INF/MANIFEST.MF文件,没有尝试仅更新yml文件是否可行,后续可以尝试一下

jar -cMf c.jar * //打包并不生成MANIFEST.MF文件,此时会提示无法识别lib中的jar包

jar -cMf0 c.jar * //打包但不压缩文件夹中的内容(此方法正确)

如果文章对您有用,扫一下支付宝的红包,不胜感激!

欢迎加入QQ群进行技术交流:656897351(各种技术、招聘、兼职、培训欢迎加入)



Leave a Reply