修改jar包配置文件的正确操作,jar包解压出来的文件夹重新打成jar,不依靠开发工具!!!!
修改jar包配置文件的正确操作,有的时候通过一些解压工具可以对内部的文件进行修改,但是有时候会无效.这就很烦了
一.背景:
有一个springboot项目,事先我已经用编译好打成jar包以及一堆lib包出来了,这个项目需要部署在多个地方,每个地方就要修改配置文件application.properties中的参数,需要别人不依赖编程工具修改并打包。那么在不用考虑安全性的前提下,为了让别人可以方便修改参数,于是我参考了网上的经验和Java在dos中的语句,实现将jar包解压成文件夹修改其中配置文件,在不依靠开发工具的情况下重新打回jar包。
二.具体步骤
1.如图所示,其他的是lib包,红色标注的是主jar包,也就是最后java -jar xx.jar运行的,首先先用随便的解压工具将server.jar解压出来。
这是解压出来的文件夹下的内容,编辑application.properties后准备打回jar包
2.接下来准备输入将文件夹重新打成jar包命令,我们打开cmd窗口,cd 进入到server文件夹根目录下,在cmd里运行一下命令:
d:
cd workspace\server
jar cvfm server.jar META-INF/MANIFEST.MF com/ mapper/ static/ templates/ application.properties generatorConfig
语句解释:
jar cvfm 打包指令
server.jar 新jar包的名字
META-INF/MANIFEST.MF 主体编译文件,我个人猜测新jar包是以该文件中指向的各个类进行编译,将META-INF和里面文件放入新的server.jar中
com/ 将com文件夹和里面所有文件放入新的server.jar中
mapper/ 将mapper文件夹和里面所有文件放入新的server.jar中
static/ 将static文件夹和里面所有文件放入新的server.jar中
templates/ 将templates文件夹和里面所有文件放入新的server.jar中
application.properties 将application.properties文件放入新的server.jar中
generatorConfig 将generatorConfig文件放入新的server.jar中
这里要根据实际根目录下的文件夹和文件写
3.运行完后我们发现在原有根目录下会出现一个server.jar包,
将新的server.jar替换掉原来的即可
三.后续优化
如果要多次操作的话,建议将语句写入一个脚本文件里,省时省力一键打包。