通常情况下,我们开发一个项目打包好之后上传到服务器运行就可以了。但是如果需求变更的话,我们就需要进行文件甚至整个文件夹的更新操作了,下面就是对已经上传服务器的压缩包进行文件以及文件夹的更新操作实例。如下,亲测可行:
更新服务器上运行包prs-0.0.1-SNAPSHOT.jar里面的文件步骤:
1、进到prs-0.0.1-SNAPSHOT.jar所在目录:
2、先查询jar包中需要更新替换的文件的路径,即所在位置。命令如下:
jar tvf prs-0.0.1-SNAPSHOT.jar | grep 文件名
例如:jar tvf prs-0.0.1-SNAPSHOT.jar | grep TaskService.class
3、将目标文件解压出来:
jar -xvf prs-0.0.1-SNAPSHOT.jar 路径
例如:jar -xvf prs-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/thsoft/prs/service/TaskService.class
4、cp 文件名 路径
cp TaskService.class BOOT-INF/classes/com/thsoft/prs/service/
5、压缩
zip -u prs-0.0.1-SNAPSHOT.jar BOOT-INF/classes/com/thsoft/prs/service/TaskService.class
以上针对的是单个文件,下面是对整个文件夹进行更新:
1、进到prs-0.0.1-SNAPSHOT.jar所在目录:
2、先查询jar包中需要更新替换的文件夹的路径,即所在位置。命令如下:
jar tvf prs-0.0.1-SNAPSHOT.jar | grep 文件夹名
例如:jar tvf prs-0.0.1-SNAPSHOT.jar | grep templates
3、将目标文件夹解压出来:
jar -xvf prs-0.0.1-SNAPSHOT.jar 路径
例如:jar -xvf prs-0.0.1-SNAPSHOT.jar BOOT-INF/classes/templates
4、cp 新的文件夹名 路径。 (如果提示是否覆盖里面的文件的话,输入y,按下回车即可)
cp -ri templates BOOT-INF/classes/
5、压缩
zip -ur prs-0.0.1-SNAPSHOT.jar BOOT-INF/classes/templates