查找JDK是OpenJDK还是Oracle JDK

4

我正在构建一个应用程序,用户可以更改Java设置并指向任何jdk。但是它必须是Oracle JDK而不能是OpenJDK。是否有办法检查给定其Java路径c:\bin\jdk\binjava.exe的JDK是OpenJDK还是Oracle JDK?

2个回答

2
最简单的方法是使用System.exec()函数。
c:\bin\jdk\bin\java.exe -version

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

虽然这不是最佳方案,但请考虑:即使您发现类名、功能或类似内容的差异,它仍然只适用于某些版本。您永远无法依赖于差异保持不同。


1

java -version

该命令将给出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 .....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接