一.背景:
参考了网上的经验和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替换掉原来的即可
三.后续优化
如果要多次操作的话,建议将语句写入一个脚本文件里,如bat文件,省时省力一键打包。