本站提供互联网编程技术交流分享,部分技术教程不断更新中,请随时关注或联系我寻求帮助 有事点我吧同时也欢迎有兴趣的朋友进行投稿。

java更新jar包里的配置文件

java 熊哥club 326℃ 0评论

起因

从笔记本传了个jar到服务器,运行的时候才发现配置文件一个ip项填错了。本来很简单的问题,maven重新打包就可以了,但是30多M的jar包就因为一个配置项错了又要重新传一遍,笔记本连的WiFi速度有限,又要个一两分钟。于是想直接在服务器上更新jar包里的配置文件。

方法一,更新jar包文件

最先想到的办法是用命令把jar包解压jar -xvf xxx.jar 修改完毕后重新打包 jar cf xxx.jar * ,本以为是大功告成,执行java -jar xxx.jar 报错

经了解需要在MANIFEST.MF文件添加main方法的类。用maven打包的话这些都自动配置了。 对比两次生成MANIFEST.MF文件里边确实少了不少内容项,根据报错内容主要的main方法的类没有指定

用jar重新打包的方法肯定是不行了,肯定还有需要注意的细节。又一想我只是要修改配置文件,替换掉jar包里的配置文件就可以了。查了下jar的文档。果然有更新方法:

替换之,启动jar,顺顺利利的启动了

方法二,jar重新打包

后来对于最先想到的方法又在网上查了下,也有对应的解决办法,但是会有两个问题要处理

  1. 阻止jar打包时重新生成清单列表, -M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF
  2. jar打包时不进行压缩 -0

    压缩的话会有错误,如下:(已被压缩,嵌套的jar文件无需被压缩)

    最终命令:jar -cfM0 xxx.jar *

参考

  • java doc
  • 利用jar命令打包和解压
  • jar用法

本文地址: http://www.xiongge.club/1181.html

转载请注明:熊哥club » java更新jar包里的配置文件

喜欢 (1)
[您的支持是我最大的动力]
分享 (0)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮