我有一个Java程序,该程序创建一个.java文件,然后调用ToolProvider.getSystemJavaCompiler()
来获取编译它所需的内容。在Eclipse IDE(我将1.8 JDK设置为默认JRE)中,这可以很好地工作。我还更改了PATH系统环境变量,使其指向JDK,如下所示:C:\Program Files\Java\jdk1.8.0_191\bin
。我认为从.jar文件运行程序时,这将具有相同的效果。它不是。相反,ToolProvider.getSystemJavaCompiler()
仅返回null。我能找到的所有资源都告诉我,我做错了什么是使用JRE而不是JDK,这肯定是不正确的,因为我已将PATH设置为指向JDK。我在做什么错,该如何解决?