【问题标题】:Does javax.tools depend on the JDK?javax.tools 是否依赖于 JDK?
【发布时间】:2009-11-11 09:06:02
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: java java-compiler-api jsr199


    【解决方案1】:

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

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

    This other question 地址 java 5.

    这里有一个blog post by Morten Nobel-Jørgensen,关于如何使用 eclipse 的编译器作为 javax.tools.JavaCompiler 的实现。

    JavaCompiler javac = new EclipseCompiler();
    

    【讨论】:

    • 谢谢,我已经完成了编码,但是如果getSystemJavaCompiler()返回null,程序就会失败。所以我需要避免它
    • 博文链接失效,更新链接为here
    猜你喜欢
    • 1970-01-01
    • 2018-07-22
    • 1970-01-01
    • 2015-09-22
    • 2015-01-09
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多