1. 程式人生 > >怎樣更新jar包中的某個class檔案??

怎樣更新jar包中的某個class檔案??

很簡單呀~~
jar   -cvf   aaa.jar   test\ttt.class
就可以了。
aaa.jar
      |_____test
      |               |______ttt.class
      |_____META-INF

jar   -cvf   aaa.jar   test\ttt.class
就可以了。

aaa.jar
      |_____test
      |               |______ttt.class
      |_____META-INF

我試了以後,把原有的檔案都給覆蓋了,只剩要更新的那個檔案了

 如何更新jar包或者jar包中的檔案

jar檔案:/home/resin.jar
需更新包中com/caucho/server/port/Port.class類檔案

方法1:
jar uf resin.jar com/caucho/server/port/Port.class
要求是必須知道jar包的結構要非常熟悉,可以使用:jar tf resin.jar來檢視。

方法2:
解壓jar xvf resin.jar->覆蓋相應類檔案->再打包(jar cvf resin.jar com)

 上週對簡訊服務進行了優化,發現一些jar需要修改(沒有加密),於是寫了一個簡要更新方法:
1,停止服務,下載bin/jar包檔案到本地;
2,修改java檔案,重新編譯;
3,開啟cmd,進入工程目錄下bin下(有一個com根);
4,執行以下打包操作,這是覆蓋更新,路徑一定要保證正確,如果打包不生效,可以先開啟包,刪除class檔案後再打包更新;
jar uvf machasmproxy.jar com/machasoft/sm/smproxy/SMProxyManager.class
jar uvf machasmproxy.jar com/machasoft/sm/thread/SmSenderThread.class
5,完成jar打包操作後,注意更新時間,上傳包檔案,重啟服務;

注意:重新編譯的java版本必須和以前jar包的編譯版本保持一致,異常資訊沒捕獲到