javax.tools是否依赖于JDK?

我想使用JavaCompiler动态创建一些类。

我找到了javax.tools包的源代码,但是没有实现; 互联网上的一些post说它取决于tools.jar ,我不确定tools.jar与JRE联系。

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

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

谢谢

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

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

另一个问题涉及java 5。

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

 JavaCompiler javac = new EclipseCompiler();