我有一个Java应用程序,我想为用户提供编译Java源代码的能力(使用JavaCompiler接口)
如果用户在JRE上运行应用程序,我的应用程序应该告诉用户没有JavaCompiler实例可用。
那么如何在java程序中检测JDK或JRE?
答案 0 :(得分:11)
您可以从JavaCompiler
申请ToolProvider
的实施。如果它返回null
,则没有JavaCompiler
可用的实现:
JavaCompiler c = ToolProvider.getSystemJavaCompiler();
if (c == null) {
// JRE
}
答案 1 :(得分:1)
看看stackoverflow线程 - How to determine if the Java VM is installed on Windows?,How do I detect which kind of JRE is installed — 32bit vs. 64bit和How can I detect the installed Sun JRE on Windows?
您可以使用System.getProperties()/System.getProperty()
方法。