jar解壓指定文件 jar包存放在哪個目錄下



文章插圖
jar解壓指定文件 jar包存放在哪個目錄下

文章插圖
問題描述
現在基于springboot的服務器jar包體積越來越大, 當我們在特殊場景下,比如壓力測試或者排查問題想臨時修改下jar包里的內容驗證下, 是不是非要重新打包上傳文件呢? 答案當然是否 。
解決方案
1.jar命令解壓jar包
##解壓servr.jarjar 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原來的路徑存放一致 。
最后
【jar解壓指定文件 jar包存放在哪個目錄下】這時候新的server.jar 就是個有效的jar了 。基于以上的操作,就不用在測試等情況下,每次驗證和測試都要重新編譯打包再上傳發布 。但是一定要測試沒問題后,統一版本,切記切記!