我正在构建一个应用程序,用户可以更改Java设置并指向任何jdk。但是它必须是Oracle JDK而不能是OpenJDK。是否有办法检查给定其Java路径c:\bin\jdk\binjava.exe的JDK是OpenJDK还是Oracle JDK?
我正在构建一个应用程序,用户可以更改Java设置并指向任何jdk。但是它必须是Oracle JDK而不能是OpenJDK。是否有办法检查给定其Java路径c:\bin\jdk\binjava.exe的JDK是OpenJDK还是Oracle JDK?
c:\bin\jdk\bin\java.exe -version
并解析它的输出。OpenJDK和Sun JDK有不同的文本输出。
虽然这不是最佳方案,但请考虑:即使您发现类名、功能或类似内容的差异,它仍然只适用于某些版本。您永远无法依赖于差异保持不同。
java -version
该命令将给出Java版本详细信息和其输出文本中的运行时环境名称。使用运行时环境名称,您可以找到它。
例如,如果是OpenJDK,则为:
openjdk version "<version>"
OpenJDK Runtime Environment .....
OpenJDK XX-Bit Server VM .....
Sample:
java version "<version>"
Java(TM) SE Runtime Environment .....
Java HotSpot(TM) XX-Bit Server VM .....