問題描述
現在基於springboot的服務器jar包體積越來越大, 當我們在特殊場景下,比如壓力測試或者排查問題想臨時修改下jar包里的內容驗證下, 是不是非要重新打包上傳文件呢? 答案當然是否。
解決方案
1.jar命令解壓jar包
##解壓servr.jar
jar xvf server.jar
2.修改文件
• 修改配置文件
用vi修改對應內容
• 修改class文件
修改class文件,需要重新編譯
##在當前server解壓的目錄下
java -cp .:BOOT-INF/classes:BOOT-INF/lib/對應編譯用到的jar包 cn/yu/Test.java
注意:linux服務器下,如果多個jar包就用冒號分割,Test.java要編譯,放到包名目錄下。 對了如果沒有源代碼可以考慮反編譯工具。
3. 重新打包
jar -uvh server.jar BOOT-INF/classes/cn/yu/Test.java
注意:jar重新打包,對應的Test.java或者配置文件要按jar原來的路徑存放一致。
最後
這時候新的server.jar 就是個有效的jar了。 基於以上的操作,就不用在測試等情況下,每次驗證和測試都要重新編譯打包再上傳發布。但是一定要測試沒問題後,統一版本,切記切記!
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/233072.html