修改jar包內的class
作者 | 時間 | |
---|---|---|
劉權 | 20180613 | 653945222 |
原因
由於要修改現場的一個jar包,但是現場沒有專案的編譯環境
方案一:通過反編譯工具獲取java檔案,再通過java將class打包到jar包中
- 使用反編譯工具JD-GUI開啟jar包
- 找到要修改的類
- FIle->save(儲存class的java檔案)
- 使用文編編輯器修改java檔案,並儲存
- 將java檔案放入對應的包路徑下
- 執行javac -cp xx.jar com\epri\service\HelloService.java,生成對應的class檔案
- 將class打包到jar包
方案一:使用命令: jar -uvf xx.jar com\epri\service\HelloService.class
方案二:使用解壓工具開啟jar包,然後將class放入對應位置替換原class即可。
相關問題:
- 如果依賴的包為多個。
- 多個依賴的JAR包,LINUX下用“:”分割,WINDOW下用“;”分割
- 多個原始檔用空格分隔,也可以使用諸如“*”之類的萬用字元
例:
javac -cp D:\Desktop\test.jar;D:\software\android\sdk\platforms\android-27\android.jar test1.java test2.java
或
javac -cp D:\Desktop\test.jar;D:\software\android\sdk\platforms\android-27\android.jar *.java
- javac編譯錯誤: 編碼UTF8/GBK的不可對映字元
- 確定java檔案的編碼
- 在編譯時指定編碼:javac編譯錯誤: 編碼UTF8/GBK的不可對映字元
例:
javac -encoding utf-8 -cp xx.jar com\epri\service\HelloService.java
參考文獻:
https://blog.csdn.net/Leytton/article/details/52740171
https://blog.csdn.net/chy555chy/article/details/78460837
https://blog.csdn.net/foxfire882/article/details/70513642
相關文章
- ClassPlaceholder外掛:動態修改jar包class檔案JAR
- java修改jar包JavaJAR
- 修改Jar內容JAR
- 自定義一個gradle外掛動態修改jar包Class檔案GradleJAR
- 讀取 jar 包中巢狀的 jar 包內容的方法JAR巢狀
- Jar 包執行時修改配置JAR
- java加密保護jar包及class檔案,防止反編譯Java加密JAR編譯
- jar包JAR
- Java 如何打增量 jar 包【修改部分檔案不需全部打包】JavaJAR
- java-jar啟動jar包JavaJAR
- linux 啟動jar包:在 Linux 上啟動 Java jar 包的方法LinuxJARJava
- idea打包jar包IdeaJAR
- centos 部署jar包CentOSJAR
- linux 部署jar包LinuxJAR
- 曹工雜談:Linux伺服器上,Spring Boot 原地修改 jar 包配置檔案/替換class檔案,免去重複上傳的麻煩Linux伺服器Spring BootJAR
- 在cmd/powershell中使用java/javac -cp/--class-path命令連結多個jar包JavaJAR
- 檢視JAR包的JDK版本JARJDK
- java打jar包的maven方式JavaJARMaven
- 實用的jar包加密方案JAR加密
- linux替換jar裡面的class檔案LinuxJAR
- Spring Boot啟動後讀取jar包內部檔案Spring BootJAR
- 深入Jar包:Gradle構建可執行jar包與訪問jar包中資料夾與檔案JARGradle
- crontab執行jar包時,Could not find or load main class(找不到或者載入不到主類)JARAI
- jar包、war包和ear包的介紹與區別JAR
- IDEA 匯入 ***.jar包IdeaJAR
- Java Jar 包加密 -- XJarJavaJAR加密
- IDEA匯入jar包IdeaJAR
- java中常用jar包JavaJAR
- Maven引入本地jar包MavenJAR
- jar包啟動方式JAR
- jar包和war包的介紹與區別JAR
- eclipse建立自己的Library存放jar包EclipseJAR
- IDEA打可執行的jar包IdeaJAR
- 下載mysql的JDBC的jar包流程MySqlJDBCJAR
- Python進階如何修改閉包內使用的外部變數?Python變數
- Linux系統下執行Jar包以及idea遠端除錯jar包LinuxJARIdea除錯
- Maven專案打jar包MavenJAR
- Hibernate各個jar包作用JAR