有時候經常因為不同開發機器上的一部分配置不同,導致項目中的配置文件有些用戶名密碼等信息有差異,臨時打包的時候經常忘記修改,可以重新打包,但是重新打包如果花費時間過長的時候這樣做就太不划算了。因此專門百度了不同的方式,找了一種不需要安裝其他工具的方式,綜合他們的方法,我詳細記錄一下我的修改過程(以下過程按照順序執行,可以跳過某些步驟):
方式一
- 在jar包所在的路徑打開cmd窗口/Powershell窗口
方法是:進入jar包所在的路徑,按住shift同時點擊右鍵,選擇“打開PowerShell窗口”;
- 列出jar包的文件清單(非必須,主要是為了方便查看需要修改的文件的路徑)
//輸入命令
jar tf abc.jar
- 將需要修改的文件解壓出來
//命令 jar xf abc.jar BOOT-INF/classes/application.properties
此時,會在當前jar包的同級目錄下生成一個相對路徑文件夾(所要修改的文件就在這里),然后修改文件中的內容
- 使用修改后的文件替換jar包中對應的文件
//使用剛剛修改的文件替換jar包中的對應文件,輸入命令 jar uf abc.jar BOOT-INF/classes/application.properties
以上是解壓相對的文件,修改內容,再替換掉jar中的對應文件。
方式二
也可以直接使用修改后的代碼文件(因為我的是application.properties,所以不存在編譯啥的),按照以下步驟:
創建一個和帶替換文件相同的空路徑,把新的文件放在該目錄下,然后直接執行“jar uf ……”的那個命令即可。
比如我的前面的情況:application.properties文件在jar中的相對路徑是“BOOT-INF/classes/application.properties”,那我就在jar包的同級目錄創建一個“BOOT-INF/classes”的空路徑,然后將新的application.properties放在classes文件夾,直接執行“jar uf ……”命令即可完成替換。