jar命令修改jar包中的application.yml配置文件
前言
JAR包是Java中所特有一種壓縮文檔,其實(shí)大家就可以把它理解為.tar.gz包。當(dāng)然也是有區(qū)別的,JAR包中有一個(gè)META-INF\MANIFEST.MF文件;jar命令是由JDK自帶的工具,當(dāng)操作系統(tǒng)安裝JDK后即可使用jar命令來操作jar包
很多時(shí)候現(xiàn)場實(shí)施需要更改jar包中的application.yml配置文件中的配置,但又不想修改現(xiàn)場的啟動(dòng)命令來指定使用外部配置文件啟動(dòng)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 file4. 現(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: 將兩個(gè)類文件歸檔到一個(gè)名為 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啟動(dòng)jar包時(shí)指定使用外部配置文件啟動(dòng)
如果要使用多個(gè)配置文件,中間以英文逗號分隔即可
[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)文章希望大家以后多多支持腳本之家!
- Springboot如何獲取配置文件application.yml中自定義的變量并使用
- Springboot?application.yml配置文件拆分方式
- Spring Boot 配置文件(application.yml、application-dev.yml、application-test.yml)
- SpringBoot項(xiàng)目中配置application.yml中server.port不生效的問題
- Spring Boot配置application.yml及根據(jù)application.yml選擇啟動(dòng)配置的操作方法
- 自定義application.yml配置項(xiàng)方式
相關(guān)文章
springboot讀取自定義配置文件實(shí)現(xiàn)過程
本文介紹Spring Boot中配置文件讀取方法,包括使用@Value注解讀取application.properties和自定義properties文件,以及通過ResourceBundle編寫工具類ResourceUtil實(shí)現(xiàn)配置獲取2025-08-08
SpringBoot同時(shí)監(jiān)聽多個(gè)端口的完整方法
這篇文章主要為大家詳細(xì)介紹了SpringBoot同時(shí)監(jiān)聽多個(gè)端口的相關(guān)方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-11-11
mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解
這篇文章主要介紹了mybatis新增save結(jié)束后自動(dòng)返回主鍵id詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
spring boot多數(shù)據(jù)源動(dòng)態(tài)切換代碼實(shí)例
這篇文章主要介紹了spring boot多數(shù)據(jù)源動(dòng)態(tài)切換代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01
MyBatis通過代碼配置+XML文件構(gòu)建SqlSessionFactory實(shí)踐
本文介紹了在構(gòu)建SqlSessionFactory時(shí),如何在代碼中動(dòng)態(tài)獲取數(shù)據(jù)庫連接參數(shù),并在XML文件中配置映射文件信息,通過示例代碼,展示了如何在Java和XML文件中實(shí)現(xiàn)這些功能,運(yùn)行結(jié)果總結(jié)了整個(gè)過程的實(shí)現(xiàn)效果2026-01-01

