jar包文件替换方法
约 379 字
预计阅读 1 分钟
要替换的文件在包的根目录
1
2
|
# 如要替换 test.war 包里的 test.xml
[root@VM-4-13-ubuntu]$ jar uvf test.war test.xml
|
要替换的文件在包的其他目录
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 如果不知道想改的文件在哪个目录,可以用 grep 查看下
[root@VM-4-13-ubuntu]$ jar tvf test.war | grep application.yml
507 Tue Dec 25 09:45:48 CST 2022 WEB-INF/classes/application.yml
## 解压该文件,该目录下会生成该文件的目录结构
[root@VM-4-13-ubuntu]$ jar xvf test.war
[root@VM-4-13-ubuntu]$ ll
drwxrwxr-x 3 xuwu xuwu 4096 12月 6 21:54 META-INF
drwxrwxr-x 4 xuwu xuwu 4096 12月 6 21:54 WEB-INF
## 修改 WEB-INF/classes/application.yml 修改的内容,然后替换 war 包相应文件
[root@VM-4-13-ubuntu]$ jar uvf test.war WEB-INF/classes/application.yml
|
扩展
- 可以把与环境相关的文件直接放在服务器上,上线时用服务器本地的文件替换,防止开发打错包
- 增量打包,很多时候开发只是修改其中一个文件,没必要重新打包,直接替换该文件即可
jar 常见用法
1
2
3
4
5
6
7
8
9
10
11
12
13
|
# 解压 .jar/.war 文件到当前目录
jar -xvf file.jar
# 列出 .jar/.war 文件内容
jar -tf file.jar
-v 在标准输出中生成详细输出
-u 更新现有文件
-c 创建新归档文件
-f 指定归档文件名
-x 解档文件
-t 列出归档文件内容
-0 仅存储; 不使用任何 ZIP 压缩(把jar包放进war必须把这个参数加上)
|