我對java編譯器的理解遇到了一些問題。將.java編譯爲.class編譯
如果你知道我的世界,你可能知道遊戲中有很多mods,它們是一些修改後的類,它們被注入原來的.jar中,替換舊的(original).class,問題是如果你想要要使用兩個不同的mod來代替同一個.class,這是不可能的,除非你混合了他們兩個的代碼並做一些版本。
嗯,我得到了兩個mod,它們使用相同的.class並反編譯這兩個類(反編譯都是SUCCESSFUL),分析,修改並創建了一個同時適用於兩個mod的.java文件。我現在的問題是,我必須將這個.java重新編譯爲.class文件,以便我可以注入到minecraft .jar中,但是每次我嘗試編譯它時,都會遇到很多錯誤,例如class, interface, or enum expected
和selection does not contain main type
這些錯誤因爲代碼提到了很多外部類,並且確實不包含main類型。
我想知道是否有人知道是否有必要將.java翻譯成.class二進制文件,忽略之前提到的所有錯誤,或者如果您有任何其他建議我該怎麼做。
PS:這段代碼不是一個完整的程序,這就是爲什麼我得到這些錯誤,它會在.jar中完美工作,請不要回答,它是毫無意義的編譯這個文件。
因此,只需將原始jar文件(和必需的jar文件)添加到類路徑中進行編譯,然後使用類似winrar的東西來替換jar文件中創建的類。 – 2012-07-15 04:11:24
感謝您的快速回復,但是如何將jar添加到javac的類路徑中? – Kasama 2012-07-15 04:15:48
@Kasama'javac -classpath jarfile1.jar:jarfile2.jar:jarfile3.jar :. ClassToCompile.java'。 (注意:如果這是在Windows上,使用';'而不是':'。) – ruakh 2012-07-15 04:19:38