Java:如何检测当前的Java运行时是JRE还是JDK?

时间:2011-10-20 09:07:15

标签: java eclipse eclipse-plugin eclipse-rcp eclipse-jdt

我有一个Java应用程序,我想为用户提供编译Java源代码的能力(使用JavaCompiler接口)

如果用户在JRE上运行应用程序,我的应用程序应该告诉用户没有JavaCompiler实例可用。

那么如何在java程序中检测JDK或JRE?

2 个答案:

答案 0 :(得分:11)

您可以从JavaCompiler申请ToolProvider的实施。如果它返回null,则没有JavaCompiler可用的实现:

JavaCompiler c = ToolProvider.getSystemJavaCompiler();
if (c == null) {
    // JRE
}

答案 1 :(得分:1)