我想解壓縮我正在使用的jar庫,如果它的核心功能更新爲GitHub上顯示的內容,請檢查這些類。解壓縮Jars得到類.text
如何解壓縮.jar文件?
更新:
你不會能夠得到一流的.txt不重視他們,如果你直接解壓縮源代碼。
謝謝,alegen使用Java Decompiler的方法可以反編譯類。
我想解壓縮我正在使用的jar庫,如果它的核心功能更新爲GitHub上顯示的內容,請檢查這些類。解壓縮Jars得到類.text
如何解壓縮.jar文件?
更新:
你不會能夠得到一流的.txt不重視他們,如果你直接解壓縮源代碼。
謝謝,alegen使用Java Decompiler的方法可以反編譯類。
打開JAR
文件用WinRAR但除非人們還打包source code
,你只能找到其中包含bytecode
.class
文件。你將不得不使用decompiler
;我通常使用JD Java Decompiler。
謝謝,我需要知道反編譯器。 – sdfwer
您可以使用各種工具從JAR文件中提取文件,包括純ZIP文件工具...以及作爲JDK一部分的jar
命令。
聽起來像是你的real問題是你想在JAR文件中反編譯.class文件,以便你可以將它們與一些Java源代碼進行比較。
呃,壞消息是,它不會工作......特別是在大規模。是的,有一些反編譯器會(在一個好的一天)產生類似於Java的東西。但是:
反編譯的Java看起來不像用來生成.class文件的原始源代碼。將反編譯的文件與原始源代碼(或基於原始源代碼的東西)進行比較將是一個繁瑣而困難的MANUAL過程。
反編譯的代碼甚至不會有效(可編譯)Java。
更好的方法可能是在GitHub上編譯源代碼並嘗試比較兩個版本的.class文件。然而,即使這不是直線前進,因爲:
的.class文件包含時間戳,和其他的東西依賴於構建路徑,編譯開關,等等。在比較.class文件時,你必須弄清楚如何去除這個「噪音」。
不同版本的Java編譯器會產生不同的類文件風格。
即使類文件版本號相同,在生成的字節碼中也可能存在編譯器版本特定的差異。
對於小規模的比較,反編譯可能會做......只要你願意在這個問題的工作。您還可以使用javap
在類文件中打印字節碼並比較javap
輸出。
我只需要看到幾個方法的改變,如果它稍微反編譯一下就可以了。 – sdfwer
所以你想要做的就是檢查兩個罐子是否相同,以確定github上的方法與你罐子中的方法相同?
我想你在這裏試圖解決錯誤的問題。你應該做的就是檢查github的代碼並自己構建它。應在項目的根目錄中有一個名爲README,INSTALL或類似的文件。
當然,您可能不想要最新版本的項目,您可能需要最新的穩定版本或whatnot,這是完全可行的:只需從git下載您想要的版本,然後構建自己。你現在有了代碼和一個jar。
如果你這樣做,你可以確保代碼與jar匹配,並且不需要反編譯,只需稍後make或ant,就像自述文件指定的那樣。
現在的問題是什麼?右鍵點擊 - >提取。完成。 – poitroae