修改jar包配置文件的正確操作,有的時候通過一些解壓工具可以對內部的文件進行修改,但是有時候會無效.這就很煩了
一.背景:
有一個springboot項目,事先我已經用編譯好打成jar包以及一堆lib包出來了,這個項目需要部署在多個地方,每個地方就要修改配置文件application.properties中的參數,需要別人不依賴編程工具修改並打包。那么在不用考慮安全性的前提下,為了讓別人可以方便修改參數,於是我參考了網上的經驗和Java在dos中的語句,實現將jar包解壓成文件夾修改其中配置文件,在不依靠開發工具的情況下重新打回jar包。
二.具體步驟
1.如圖所示,其他的是lib包,紅色標注的是主jar包,也就是最后java -jar xx.jar運行的,首先先用隨便的解壓工具將server.jar解壓出來。
這是解壓出來的文件夾下的內容,編輯application.properties后准備打回jar包
2.接下來准備輸入將文件夾重新打成jar包命令,我們打開cmd窗口,cd 進入到server文件夾根目錄下,在cmd里運行一下命令:
d:
cd workspace\server
jar cvfm server.jar META-INF/MANIFEST.MF com/ mapper/ static/ templates/ application.properties generatorConfig
語句解釋:
jar cvfm 打包指令
server.jar 新jar包的名字
META-INF/MANIFEST.MF 主體編譯文件,我個人猜測新jar包是以該文件中指向的各個類進行編譯,將META-INF和里面文件放入新的server.jar中
com/ 將com文件夾和里面所有文件放入新的server.jar中
mapper/ 將mapper文件夾和里面所有文件放入新的server.jar中
static/ 將static文件夾和里面所有文件放入新的server.jar中
templates/ 將templates文件夾和里面所有文件放入新的server.jar中
application.properties 將application.properties文件放入新的server.jar中
generatorConfig 將generatorConfig文件放入新的server.jar中
這里要根據實際根目錄下的文件夾和文件寫
3.運行完后我們發現在原有根目錄下會出現一個server.jar包,
將新的server.jar替換掉原來的即可
三.后續優化
如果要多次操作的話,建議將語句寫入一個腳本文件里,省時省力一鍵打包。