【问题标题】:How to Auto Compile For the Command Line Using Javac From Within a Class?如何在类中使用 Javac 为命令行自动编译?
【发布时间】:2019-09-09 08:44:10
【问题描述】:

是否有代码让类在通过命令行执行时自动调用 javac?比如调用java Text,在Text.java中运行一段代码自动调用javac Text.java重新编译字节码。

我想让通过 eclipse 编辑文件变得更容易,然后通过命令行运行它,而不必一遍又一遍地手动键入 javac 来重新编译类字节码以反映新的变化。

【问题讨论】:

  • 你知道eclipse会为你编译java文件吗?
  • 我知道,但是我特别想用cmd编译,而不是eclipse。
  • 我不明白。你说我特别想用cmd编译,而不是eclipse。这个 cmd 和 javac 有什么不同?

标签: java cmd javac


【解决方案1】:

Java 11 及更高版本可以直接“执行”Java 源文件,因此不必先用 javac 编译(通过在进程中透明地调用编译器)

来自 JEP 330 (https://openjdk.java.net/jeps/330)

例如,如果一个名为 Factorial.java 的文件包含一个名为 Factorial 计算其参数的阶乘,然后 命令

java Factorial.java 3 4 5 

非正式地等价于

javac -d <memory> Factorial.java 
java -cp <memory> Factorial 3 4 5

如果你使用它,请报告它是如何为你工作的。

【讨论】:

    猜你喜欢
    • 2015-08-11
    • 1970-01-01
    • 2021-10-26
    • 2015-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-15
    • 1970-01-01
    相关资源
    最近更新 更多