javax.tools是否依赖于JDK?

Bro*_*die 7 java jsr199 java-compiler-api

我想用来JavaCompiler动态创建一些类.

我找到了javax.tools包的源代码,但是没有实现; 互联网上的一些帖子说它依赖于tools.jar,我不确定是否tools.jar与JRE有关.

那么,我可以在没有安装JDK的JRE环境中运行程序吗?

另一个问题,即实现细节JavaCompiler是什么,是创建一个新的进程来调用javac命令?

谢谢

Ste*_*nne 9

JRE需要在该包中包含接口和类,但不需要提供实现.

Sun的JRE没有,并且在调用时返回null ToolProvider.getSystemJavaCompiler().

另一个问题涉及java 5.

这是Morten Nobel-Jørgensen关于如何使用eclipse的编译器作为javax.tools.JavaCompiler的实现的博客文章.

JavaCompiler javac = new EclipseCompiler();
Run Code Online (Sandbox Code Playgroud)