javax.tools 依赖于 JDK 吗?

发布于 2024-08-10 07:37:25 字数 293 浏览 8 评论 0原文

我想使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

无名指的心愿 2024-08-17 07:37:25

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

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

这个其他问题解决了java 5。

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

JavaCompiler javac = new EclipseCompiler();

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.

JavaCompiler javac = new EclipseCompiler();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文