2012-06-13 24 views
2

我開始時使用瞭解壓縮的.jar文件。我只需要在該jar文件的內容中包含的一個類中更改幾行代碼。我去這個如下:更改具有相關性的Java類文件中的代碼

1)打開用Java反編譯的類查看源。

2)複製源到一個新的文本文件,並保存「的.java」擴展名。

3)在命令行我去爲JDK文件夾,並執行的javac Classname.java重新編譯。

但是這個類代碼進口一些依賴關係,以便重新編譯失敗。我有依存關係,他們的原始jar文件內容的一部分,但它們都被編譯的.class文件和跨越幾個文件夾傳播......

是否有可能成功地重新編譯這個類?命令行代碼是否包含依賴關係?

+0

難道你只需指定的類路徑一些額外的依賴('-cp'或'-classpath')當您編譯使用[javac的](http://docs.oracle.com/javase/6/docs /technotes/tools/windows/javac.html)?你如何執行'javac'命令? – creemama

回答

2

是的,請使用-classpath選項。

javac -classpath original.jar Modified.java 

然後,您可以從jar文件中刪除舊類並插入新類。沒有一種簡單的方法可以通過命令行來實現,因此我建議使用歸檔應用程序,例如WinRAR7-zip

+0

非常感謝。它看起來比第一個更簡單,所以我用它,謝謝你們! – parliament