2013-03-11 126 views
0

我正在构建一个应用程序,用户可以在其中更改Java设置并指向任何jdk。但它必须是Oracle JDK,不应该是openJDK。鉴于JDK或Oracle JDK的路径c:\bin\jdk\binjava.exe是否有任何方法检查JDK是否打开?查找JDK是否为openJDK或Oracle JDK

回答

1

最简单的方法是将System.exec()

c:\bin\jdk\bin\java.exe -version 

和解析它的输出。 OpenJDK和Sun JDK具有不同的文本输出。

这不是最优的,但要考虑:即使您发现类名,功能或类似的差异,它仍然只适用于某些版本。你永远不能依靠差异保持不同。

0

Java的版本

命令会给其输出文本Java版本的细节和运行环境的名称。使用运行时环境名称可以找到它。

例如,如果是OpenJDK的

openjdk version "<version>" 
OpenJDK Runtime Environment ..... 
OpenJDK XX-Bit Server VM ..... 

对于其他JDK,你会看到在输出的JDK类型。

Sample: 
    java version "<version>" 
    Java(TM) SE Runtime Environment ..... 
    Java HotSpot(TM) XX-Bit Server VM .....