2013-03-11 120 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 .....