替換jar包中的yml,class等文件的實現(xiàn)方式
1.使用場景
由于線上項目中突然爆出一個bug問題,影響到用戶使用,但是 線上的jar包版本,已經(jīng)是很久的了,沒有對應(yīng)的分支版本,或者再這個分支版本上后來又提交了一些新功能。
不知道該回退到哪次提交記錄才能保證和線上環(huán)境的版本內(nèi)容完全一致。
在這種情況我們不能再當(dāng)前最新的版本里進行修復(fù)問題,然后進行打包,因為當(dāng)前最新的版本里會有很多不確定的問題。所以最好的辦法就是線上的問題出在哪里,只對這個文件進行修改、替換、重啟,這種修改影響最小。
下面介紹如何替換jar中的文件,可以替換單個或多個,下面以自己線上的實際操作進行介紹。
2.先準(zhǔn)備好待替換的文件
將本地修改后的application-zhyd-prod.yml配置文件,準(zhǔn)備好。
3.下載服務(wù)器上的jar包
從服務(wù)器上把jar包文件下載下來,放到本地單獨的一個文件夾內(nèi),查看要替換的application-zhyd-prod.yml文件在zhyd-platform-customer.jar包中所在的具體路徑,命令如下:
jar -tvf zhyd-platform-customer.jar | grep application-zhyd-prod.yml 9975 Fri Jun 02 16:04:00 CST 2023 BOOT-INF/classes/application-zhyd-prod.yml
-tvf:查看jar包的內(nèi)容,并不解壓
4.解壓出來指定的文件
jar -xvf zhyd-platform-customer.jar BOOT-INF/classes/application-zhyd-prod.yml BOOT-INF/classes/application-zhyd-prod.yml
-xvf:解壓出來jar包的指定的文件


然后將第一步準(zhǔn)備好的.yml文件,替換掉這里的yml文件。
5.將文件打入jar包
jar -uvf zhyd-platform-customer.jar BOOT-INF/classes/application-zhyd-prod.yml #單個文件 BOOT-INF/classes/application-zhyd-prod.yml #如果BOOT-INF/classes/目錄下有多個文件需要打入jar包,可以用下面的方法 jar -uvf zhyd-platform-customer.jar BOOT-INF/classes/
-uvf:將指定路徑的文件打入指定的jar內(nèi)部,若有就覆蓋替換。
6.查看是否替換成功
可以再次對jar進行解壓出指定的文件,然后查看是否已經(jīng)是最新的了。
7.將Jar重新上傳至服務(wù)器
將jar包上傳至服務(wù)端后,需要先啟一個單獨接口測試一下是否正常,然后再替換生產(chǎn)上的版本。
java -jar xxxxx.jar --server.port=端口號
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用java采集京東商城區(qū)劃數(shù)據(jù)示例
這篇文章主要介紹了java采集京東的全國區(qū)劃數(shù)據(jù)示例,保存成json形式,如想轉(zhuǎn)換到數(shù)據(jù)庫只需反序列化為對象保存到數(shù)據(jù)庫即可2014-03-03
Java 并發(fā)編程創(chuàng)建線程的四種方式示例詳解
本文對比Java創(chuàng)建線程的四種方式:繼承Thread類(單繼承限制)、實現(xiàn)Runnable接口(靈活推薦)、實現(xiàn)Callable接口(支持返回值)、使用線程池(最佳實踐,資源管理高效),推薦優(yōu)先使用線程池提升系統(tǒng)穩(wěn)定性與資源利用率,感興趣的朋友一起看看吧2025-09-09
Java數(shù)據(jù)庫連接_jdbc-odbc橋連接方式(詳解)
下面小編就為大家?guī)硪黄狫ava數(shù)據(jù)庫連接_jdbc-odbc橋連接方式(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08
springboot vue完成發(fā)送接口請求顯示響應(yīng)頭信息
這篇文章主要為大家介紹了springboot+vue完成發(fā)送接口請求顯示響應(yīng)頭信息,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05
Java整型數(shù)與網(wǎng)絡(luò)字節(jié)序byte[]數(shù)組轉(zhuǎn)換關(guān)系詳解
這篇文章主要介紹了Java整型數(shù)與網(wǎng)絡(luò)字節(jié)序byte[]數(shù)組轉(zhuǎn)換關(guān)系,結(jié)合實例形式歸納整理了java整型數(shù)和網(wǎng)絡(luò)字節(jié)序的byte[]之間轉(zhuǎn)換的各種情況,需要的朋友可以參考下2017-08-08

