使用命令行通过 Java File 编译文件

Hip*_*ray 2 java compiler-construction cmd tar

我正在寻找编译 Java 文件的方法,我知道您可以使用从命令行编译 Java 文件javac Test.java,但是有没有办法将此调用传递给命令行?

还有一种方法可以让命令行以相同的方式编译 .tar 文件……比如javac -tar Test.tar(从 java 文件传递​​命令)……或者最好的方法是什么?

对不起,我不太擅长 cmd 命令

小智 5

Java 提供了一个接口来从程序调用编译器。

JavaCompiler compiler = ToolProvider
    .getSystemJavaCompiler();

StandardJavaFileManager fileManager = compiler
    .getStandardFileManager(null, null, null);

Iterable<? extends JavaFileObject> compilationUnits = fileManager
    .getJavaFileObjectsFromStrings(Arrays.asList("MyClass.java"));

compiler.getTask(null, fileManager, null, null, null, compilationUnits).call();

fileManager.close();
Run Code Online (Sandbox Code Playgroud)