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

如果用户在JRE上运行该应用程序,则我的应用程序应告知用户该JavaCompiler实例不可用。

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

最佳答案

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

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

10-01 07:30