1. 程式人生 > >修改jar包中的配置檔案

修改jar包中的配置檔案

打包以及修改jar包

cd genesys_data_etl
mvn clean package -Poffline -Dmaven.test.skip=true
日誌如下:
[INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ genesys_data_etl ---
[INFO] Building jar: /Users/xx/IdeaProjects/genesys_data_etl/target/genesys_data_etl-0.0.1-SNAPSHOT.jar
生成jar包
此時可以通過命令
java -jar genesys_data_etl-0.0.1-SNAPSHOT.jar 
執行jar包。


但是要修改jar包中的配置檔案怎麼辦呢?

方式一    通過vim命令直接修改儲存jar。超方便。


1.通過vim命令直接編輯jar
vim xxx.jar 該命令首先會列出全部檔案,可以通過輸入/abc來搜尋,定位到對應的abc檔案後回車進入配置檔案內進行編輯,:wq儲存。

方式二    通過jar命令替換jar包中的檔案(也可新增)


1.列出jar包中的檔案清單
jar tf genesys_data_etl-0.0.1-SNAPSHOT.jar


2.提取出內部jar包的指定檔案
jar xf genesys_data_etl-0.0.1-SNAPSHOT.jar BOOT-INF/classes/realtime/t_ivr_data_bj.json


3.然後可以修改檔案
vim BOOT-INF/classes/realtime/t_ivr_data_bj.json


4.更新配置檔案到內部jar包.(存在覆蓋,不存在就新增)
jar uf genesys_data_etl-0.0.1-SNAPSHOT.jar BOOT-INF/classes/realtime/t_ivr_data_bj.json      


4.1更新內部jar包到jar檔案
jar uf genesys_data_etl-0.0.1-SNAPSHOT.jar 內部jar包.jar     


5.可以檢視驗證是否已經更改
vim genesys_data_etl-0.0.1-SNAPSHOT.jar


方式三    解壓jar包,修改後重新打包jar


1.解壓
unzip genesys_data_etl-0.0.1-SNAPSHOT.jar 
2.移除jar包,最好備份
rm genesys_data_etl-0.0.1-SNAPSHOT.jar
3.重新打包
    jar -cfM0 new-genesys_data_etl-0.0.1-SNAPSHOT.jar *
    或者
    jar -cvfm0 genesys_data_etl-0.0.1-SNAPSHOT.jar ./META-INF/MANIFEST.MF ./
4.執行
java -jar new-genesys_data_etl-0.0.1-SNAPSHOT.jar


jar命令引數:
-c 建立新的存檔
-f 指定存檔檔名
-M 不配置配置清單,這樣還可以使用maven生成的配置清單也就是MANIFEST.MF
-0 不進行壓縮,如果壓縮會有問題
-m 指定清單檔案
-t 列出歸檔目錄
-x 從檔案中提取指定的 (或所有) 檔案 
-u 更新現有的歸檔檔案 
-v 在標準輸出中生成詳細輸出 


Linux下如何在不解壓jar包檢視或修改配置檔案
https://jingyan.baidu.com/article/91f5db1b1b66a41c7e05e36c.html
更新jar包裡的配置檔案
https://www.cnblogs.com/dayou123123/p/6845432.html
修改jar包中的配置檔案
https://blog.csdn.net/young_kim1/article/details/50482398