Java 编译器 JavaCompiler

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 获取java编译器
javax.tools.JavaCompiler javaCompiler = ToolProvider.getSystemJavaCompiler();

InputStream first = null; // 程序的输入 null 用 system.in
OutputStream second = null; // 程序的输出 null 用 system.out
OutputStream third = null; // 程序的错误输出 .,null 用 system.err

// 程序编译参数,javac -d 目录 java文件名
String[] strings = {"-d", ".", "D:\\test\\src\\main\\java\\com\\others\\Hello.java"};

// 0 表示成功, 其他表示出现了错误
int i = javaCompiler.run(first, second, third, strings);
if (i == 0) {
System.out.println("成功");
} else {
System.out.println("错误");
}