linux-解压修改jar包

1.maven打包

cd ccms目录工程:
运行mvn指令:

mvn clean package -Poffline -Dmaven.test.skip=true

此时可以通过上面命令生成jar包:ccms.jar

2.运行jar包

1、后台运行jar包(以外部文件方式):

nohup java -jar -Dconfig=./application.properties ccms.jar &

2、常规方式

nohup java -jar ccms.jar &

3、修改jar包内容

但是要修改jar包中的配置文件怎么办呢?比如常见的前端会打包成ccms-ui后的dist包

方式一 通过vim命令直接修改保存jar

1.通过vim命令直接编辑jar

vim ccms.jar

该命令首先会列出全部文件,可以通过输入/abc来搜索,定位到对应的abc文件后回车进入配置文件内进行编辑,:wq保存。

方式二 通过jar命令替换jar包中的文件(也可新增)

1.列出jar包中的文件清单

jar tf ccms.jar

2.提取出内部jar包的指定文件

jar xf ccms.jar BOOT-INF/classes/json/data.json

3.然后可以修改文件

vim BOOT-INF/classes/json/data.json

4.更新配置文件到内部jar包.(存在覆盖,不存在就新增)

jar uf ccms.jar BOOT-INF/classes/json/data.json

4.1更新内部jar包到jar文件

jar uf ccms.jar  

内部jar包.jar

5.可以查看验证是否已经更改

vim ccms.jar

方式三 解压jar包,修改后重新打包jar

1.解压

unzip ccms.jar

2.移除jar包,最好备份

rm ccms.jar

3.重新打包

jar -cfM0 ccms.jar *

或者

jar -cvfm0 ccms.jar ./META-INF/MANIFEST.MF ./

4.运行

nohup java -jar ccms.jar &

jar命令参数

jar命令参数
-c 创建新的存档
-f 指定存档文件名
-M 不配置配置清单,这样还可以使用maven生成的配置清单也就是MANIFEST.MF
-0 不进行压缩,如果压缩会有问题
-m 指定清单文件
-t 列出归档目录
-x 从档案中提取指定的 (或所有) 文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出

你可能感兴趣的:(linux)