javax.tools 依赖于 JDK 吗?
我想使用 JavaCompiler 动态创建一些类。
我找到了javax.tools
包的源代码,但是没有实现;互联网上的一些帖子说它取决于 tools.jar
,我不确定 tools.jar
与 JRE 关联。
那么,在没有安装JDK的情况下,可以在JRE环境中运行程序吗?
另外一个问题,JavaCompiler
的实现细节是什么,是创建一个新的进程来调用javac
命令吗?
谢谢
I want to use JavaCompiler
to dynamically create some classes.
I found the source code of the javax.tools
package, but there is no implementation; some posts on the internet say it depends on tools.jar
, I am not sure tools.jar
associates with JRE.
So, can I run the program in a JRE environment without JDK installed?
Another question, what is the implementation detail of JavaCompiler
, is it creating a new process to invoke the javac
command?
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
JRE 需要在该包中包含接口和类,但不需要提供实现。
Sun 的 JRE 没有,并且从调用
ToolProvider.getSystemJavaCompiler()
。这个其他问题解决了java 5。
这是一个Morten Nobel 的博客文章 - Jørgensen 介绍如何使用 eclipse 的编译器作为 javax.tools.JavaCompiler 的实现。
JRE's need to include the interfaces, and classes in that package, but do not need to provide implementations.
Sun's JRE doesn't, and returns null from calling
ToolProvider.getSystemJavaCompiler()
.This other question addresses java 5.
Here's a blog post by Morten Nobel-Jørgensen on how to use eclipse's compiler as an implementation of javax.tools.JavaCompiler.