jar命令修改jar包中的application.yml配置文件
前言
JAR包是Java中所特有一種壓縮文檔,其實(shí)大家就可以把它理解為.tar.gz包。當(dāng)然也是有區(qū)別的,JAR包中有一個META-INF\MANIFEST.MF文件;jar命令是由JDK自帶的工具,當(dāng)操作系統(tǒng)安裝JDK后即可使用jar命令來操作jar包
很多時(shí)候現(xiàn)場實(shí)施需要更改jar包中的application.yml配置文件中的配置,但又不想修改現(xiàn)場的啟動命令來指定使用外部配置文件啟動jar包,這時(shí)就可以使用jar命令來實(shí)現(xiàn)修改jar中的application.yml配置文件而不需要做其他操作
1. 首先需要安裝JDK,并設(shè)置好環(huán)境變量
[root@test ~]# which java /usr/java/jdk1.8.0_201/bin/java [root@test ~]# which jar /usr/java/jdk1.8.0_201/bin/jar
2. 查找需要修改jar包中的application.yml文件路徑
[root@test ~]# jar tf test.jar | grep application.yml BOOT-INF/classes/application.yml
3. 導(dǎo)出jar包中的application.yml文件
[root@test ~]# jar xf test.jar BOOT-INF/classes/application.yml [root@test ~]# ll drwxr-xr-x 3 root root 21 6月 28 14:54 BOOT-INF [root@test ~]# tree BOOT-INF BOOT-INF └── classes └── application.yml 1 directory, 1 file
4. 現(xiàn)在您可以修改編輯導(dǎo)出的配置文件
[root@test ~]# vim BOOT-INF/classes/application.yml
5. 將修改后的文件重新打入jar包
[root@test ~]# jar uf test.jar BOOT-INF/classes/application.yml [root@test ~]# echo $? 0
修改完成,您可以重新導(dǎo)出該文件該文件查看是否修改成功
附1:
jar命令幫助
用法: jar {ctxui}[vfmn0PMe] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
選項(xiàng):
-c 創(chuàng)建新檔案
-t 列出檔案目錄
-x 從檔案中提取指定的 (或所有) 文件
-u 更新現(xiàn)有檔案
-v 在標(biāo)準(zhǔn)輸出中生成詳細(xì)輸出
-f 指定檔案文件名
-m 包含指定清單文件中的清單信息
-n 創(chuàng)建新檔案后執(zhí)行 Pack200 規(guī)范化
-e 為捆綁到可執(zhí)行 jar 文件的獨(dú)立應(yīng)用程序
指定應(yīng)用程序入口點(diǎn)
-0 僅存儲; 不使用任何 ZIP 壓縮
-P 保留文件名中的前導(dǎo) '/' (絕對路徑) 和 ".." (父目錄) 組件
-M 不創(chuàng)建條目的清單文件
-i 為指定的 jar 文件生成索引信息
-C 更改為指定的目錄并包含以下文件
如果任何文件為目錄, 則對其進(jìn)行遞歸處理。
清單文件名, 檔案文件名和入口點(diǎn)名稱的指定順序
與 'm', 'f' 和 'e' 標(biāo)記的指定順序相同。
示例 1: 將兩個類文件歸檔到一個名為 classes.jar 的檔案中:
jar cvf classes.jar Foo.class Bar.class
示例 2: 使用現(xiàn)有的清單文件 'mymanifest' 并
將 foo/ 目錄中的所有文件歸檔到 'classes.jar' 中:
jar cvfm classes.jar mymanifest -C foo/ .
附2:
springboot啟動jar包時(shí)指定使用外部配置文件啟動
如果要使用多個配置文件,中間以英文逗號分隔即可
[root@toc_test ~]# java -jar test.jar --spring.config.location=/root/1.yml,/root/2.yml
到此這篇關(guān)于jar命令修改jar包中的application.yml配置文件的文章就介紹到這了,更多相關(guān)jar包 application.yml配置文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實(shí)現(xiàn)的簡單數(shù)字處理類及用法示例
這篇文章主要介紹了Java實(shí)現(xiàn)的簡單數(shù)字處理類及用法,涉及java數(shù)字運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-01-01mybatis-plus 表名添加前綴的實(shí)現(xiàn)方法
這篇文章主要介紹了mybatis-plus 表名添加前綴的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08FilenameUtils.getName?函數(shù)源碼分析
這篇文章主要為大家介紹了FilenameUtils.getName?函數(shù)源碼分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09IDEA 2020.1 搜索不到Chinese (Simplified) Language
小編在安裝中文插件時(shí)遇到IDEA 2020.1 搜索不到Chinese ​(Simplified)​ Language Pack EAP,無法安裝的問題,本文給大家分享我的解決方法,感興趣的朋友一起看看吧2020-04-04