【问题标题】:How to compile a single Java file如何编译单个 Java 文件
【发布时间】:2011-06-25 14:32:16
【问题描述】:

我已经搜索过这个,但我找不到或不明白我找到了什么。
现在我不是 Java 程序员,但我需要将单个 Java 文件编译成现有的(已编译的)Java 程序。此 Java 代码的源代码对我可用,因此我无法编译整个项目。
我对反编译原始项目不感兴趣。

如何仅使用 JDK 和 javac 快速完成此操作? (通过命令行是我更喜欢的。)

我知道这样做必须禁用单个 java 文件之外的错误检查,因为它无法读取依赖项。

提前致谢,
-艾迪亚卡皮

编辑:我确实有 JAR 文件,感谢您的回答 :)

【问题讨论】:

    标签: java compilation


    【解决方案1】:

    据我所知,您想重新编译单个 java 文件并将其替换为现有的 jar 文件..

    所以你编译它..

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

    并将其替换到 jar 中。

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

    【讨论】:

      【解决方案2】:

      你需要有一个 jar(s),其中包含你的类编译它所依赖的所有东西。

      然后你可以编译类

      javac -classpath jar1:jar2 mypackage.MyNewClass
      

      如果您无法访问原始的 Jars,您将不得不创建模拟类和方法等(不必做任何事情,只要在那里编译您的类即可)使用 IDE 可以使这两个过程更容易。 (这就是它的用途;)

      【讨论】:

      • 他说他没有来源,但听起来他确实有罐子。我认为没有嘲笑他应该没问题。
      • 我没有让它工作。我有一个 java 文件(Client.java),它在这个子文件夹中:net/client/Client.java jar 文件在根目录中。它在 ;进口的背后。
      • 这意味着它可以找到的罐子,没有你正在使用的包。很可能您的罐子列表不正确。注意:在 ms-dos 上,您需要使用 ; 而不是 :
      • 只有一个jar文件,应该没有问题。
      猜你喜欢
      • 2013-10-23
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 1970-01-01
      • 2023-03-17
      • 2020-03-01
      • 2011-01-17
      • 2014-04-15
      相关资源
      最近更新 更多