2011-02-11 80 views
26

我已經搜索了這個,但我找不到或理解我找到的東西。
現在我不是Java程序員,但我需要將一個Java文件編譯爲現有(已編譯)的Java程序。此Java代碼的來源是而不是可用於我,因此我無法編譯整個項目。
我對反編譯原始項目不感興趣。如何編譯單個Java文件

如何快速做到這一點只使用JDK和javac? (通過命令行是我更喜歡的。)

我明白,要這樣做錯誤檢查單個java文件之外將不得不被禁用,因爲它不能讀取依賴關係。

由於提前,
-Aidiakapi

編輯:我有JAR文件,感謝您的回答:)

回答

14

您必須的jar(一個或多個),其中包含所有的你的課所依賴的東西來編譯它。

然後,您可以編譯

javac -classpath jar1:jar2 mypackage.MyNewClass 

類如果你有原來的罐子用不上,你必須創建模擬類和方法等(不採取任何行動,只是在那裏你的課程編譯)使用IDE可以使兩個過程更容易。 (這就是它是什麼;)

+0

他說,他沒有來源,但它聽起來像他那樣有罐子。我認爲他應該沒問題就可以了。 – 2011-02-11 14:38:31

19

至於我能理解你想重新編譯一個Java文件,並在現有的jar文件替換..

所以你編譯..

cmd>javac -classpath jar1.jar;jar2.jar my.company.MyClassToReplace.java

並將其替換在jar中。

cmd>jar uf myJarFile.jar my/company/MyClassToReplace.class