Compilation 来自JDK的Java getSystemJavaCompiler

Compilation 来自JDK的Java getSystemJavaCompiler,compilation,java,Compilation,Java,我正在使用ToolProvider.getSystemJavaCompiler(),但它返回null,因为我的JDK不在我的路径中(我无法将它放在那里)。如何让getSystemJavaCompiler()使用我的JDK?PATH与它有什么关系?问题是tools.jar是否在您的类路径中。@b argulies By tools.jar您的意思是“/lib/tools.jar”吗?因为我认为它包含sun.tools.javac.*(不推荐的方式),这是城里唯一的实现。您正在调用的已批准的API被

我正在使用
ToolProvider.getSystemJavaCompiler(),但它返回
null
,因为我的JDK不在我的路径中(我无法将它放在那里)。如何让getSystemJavaCompiler()使用我的JDK?

PATH与它有什么关系?问题是tools.jar是否在您的类路径中。@b argulies By tools.jar您的意思是“/lib/tools.jar”吗?因为我认为它包含
sun.tools.javac.*
(不推荐的方式),这是城里唯一的实现。您正在调用的已批准的API被映射到它——当且仅当它在类路径中时。@b我将它添加到类路径
-classpath“c:/bin/jdk/lib/tools.jar”
,但getSystemJavaCompiler()仍然返回null。请尝试更直接的实验,并报告
class.getResource(“sun/tools/javac/Main.class”)的结果