public class Test {
public static void main(String[] args) throws IOException{
JavaCompiler jc = ToolProvider.getSystemJavaCompiler();
int result = jc.run(null, null, null, "c:/Hi.java");
System.out.println(result==0?"编译成功":"编译失败");
}
}
我的源文件在哪个根目录下放了都试了,总是报空指针异常,但是可以通过cmd命令成功编译得到.class文件,求解一下这到底是什么问题
编译成功了,将java/jdk/lib/tools.jar拷贝到java/jre/lib文件夹下,问题立马就解决了。但是还是不知道为什么
你配置的环境变量在java/jre/lib目录下,所以编译的时候,jvm会直接去你的环境目录下查找,
而你的java文件在c:/Hi.java目录下,他查找不到,所以报空指针
将你的环境变量 java_home 指向jdk 而不是jre