修改及反編譯可運行Jar包實現(xiàn)過程詳解
將可運行Jar包,反編譯成項目,修改代碼,再次編譯,打包。
需要工具:jd-gui、myeclipse
具體步驟:
1、使用jd-gui打開原始的Jar包,選擇File-->Save All Sources,會生成一個zip壓縮包
2、解壓這個壓縮包,生成一個文件夾,可以看到文件夾里所有的class文件變成了java源碼文件。(如果最開始直接解壓原始的Jar包,那么解壓出來的就是class文件,而不是java源文件)
3、打開myeclipse,新建一個普通的Project項目,將解壓后的內(nèi)容拷貝到項目里。
4、此時編譯會報錯,因為缺少依賴的Jar包,需要找到相應(yīng)的包并且導(dǎo)入。那么這些包到底是哪些呢?
使用jd-gui打開最原始的Jar包,在META-IN目錄下的maven目錄下,有所需要的依賴包。其中pom.properties中記錄著Jar包的版本信息,可以直接從maven倉庫下載這些包
5、最后,項目重新編譯,并且打成Jar包。如果生成的源碼可以運行,就直接編譯,直接打包。
6、如果生成的項目不能運行,但是你只需要更改一兩個類:
(1)編譯。如果導(dǎo)入了所依賴的包,那么項目編譯應(yīng)該是沒問題的,這一步仔細(xì)檢查。然后使用myeclipse或者java命令編譯,生成一個class文件。
(2)打包。
簡單的方法:使用rar,zip,好壓等解壓縮工具打開原始的Jar包,直接把修改的class文件拖進(jìn)去,覆蓋原來的class文件。
復(fù)雜的方法:將原始Jar包,直接解壓生成一個文件夾,解壓后的是class文件。用修改后的class文件進(jìn)行替換,再將這個文件夾壓縮生成一個zip文件,最后將zip文件的后綴名改成jar,即可運行。
注意使用winrar工具打包時,要選擇壓縮文件格式為zip
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- java運行jar包提示?“XXX中沒有主清單屬性”?"找不到主類”兩種解決辦法
- 解決運行jar包出錯:ClassNotFoundException問題
- Java運行Jar包內(nèi)存配置的操作
- docker安裝openjdk并運行jar包的操作方法
- IDEA生成可運行jar包(包含第三方j(luò)ar包)流程詳解
- SpringBoot項目運行jar包啟動的步驟流程解析
- myeclipse導(dǎo)出可運行jar包簡介
- Maven打包沒有指定主類問題(xxx.jar中沒有主清單屬性)
- idea 打包的jar運行報 "XXX中沒有主清單屬性"
- 運行Jar包出現(xiàn)提示xxx中沒有主清單屬性報錯問題解決方法
相關(guān)文章
SpringBoot 關(guān)于Feign的超時時間配置操作
這篇文章主要介紹了SpringBoot 關(guān)于Feign的超時時間配置操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09Java后臺基于POST獲取JSON格式數(shù)據(jù)
這篇文章主要介紹了Java后臺基于POST獲取JSON格式數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03用SpringMVC編寫一個HelloWorld的詳細(xì)過程
SpringMVC是Spring的一個后續(xù)產(chǎn)品,是Spring的一個子項目<BR>SpringMVC?是?Spring?為表述層開發(fā)提供的一整套完備的解決方案,本文我們將用SpringMVC編寫一個HelloWorld,文中有詳細(xì)的編寫過程,需要的朋友可以參考下2023-08-08使用lombok的@Data會導(dǎo)致棧溢出StackOverflowError問題
這篇文章主要介紹了使用lombok的@Data會導(dǎo)致棧溢出StackOverflowError問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-11-11Java的Hibernate框架結(jié)合MySQL的入門學(xué)習(xí)教程
Java世界中的SSH三大框架是Web開發(fā)方面的人氣組合,Hibernate便是其中之一,這里我們來整理一下Java的Hibernate框架結(jié)合MySQL的入門學(xué)習(xí)教程,需要的朋友可以參考下2016-07-07