我想用来JavaCompiler
动态创建一些类。
找到了包的源码javax.tools
,但是没有实现;互联网上的一些帖子说这取决于tools.jar
,我不确定是否tools.jar
与 JRE 有联系。
那么,我可以在没有安装 JDK 的 JRE 环境中运行程序吗?
另一个问题,它的实现细节JavaCompiler
是什么,它是创建一个新进程来调用javac
命令吗?
谢谢
我想用来JavaCompiler
动态创建一些类。
找到了包的源码javax.tools
,但是没有实现;互联网上的一些帖子说这取决于tools.jar
,我不确定是否tools.jar
与 JRE 有联系。
那么,我可以在没有安装 JDK 的 JRE 环境中运行程序吗?
另一个问题,它的实现细节JavaCompiler
是什么,它是创建一个新进程来调用javac
命令吗?
谢谢
JRE 需要在该包中包含接口和类,但不需要提供实现。
Sun 的 JRE 没有,并从调用返回 null ToolProvider.getSystemJavaCompiler()
。
这个另一个问题解决了java 5。
这是Morten Nobel-Jørgensen 的一篇博客文章,介绍了如何使用 eclipse 的编译器作为 javax.tools.JavaCompiler 的实现。
JavaCompiler javac = new EclipseCompiler();