2011-02-11 82 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