我正在构建一个应用程序,用户可以在其中更改Java设置,并可以指向任何jdk。但是,它必须是Oracle JDK,并且不应该是openJDK。给定java路径c:\bin\jdk\binjava.exe,有没有办法检查JDK是开放的JDK还是Oracle JDK?
发布于 2013-03-11 15:26:05
最简单的方法是使用System.exec()
c:\bin\jdk\bin\java.exe -version并解析它的输出。OpenJDK和Sun JDK有不同的文本输出。
这并不是最优的,但请考虑:即使您发现类名、功能或类似的差异,它仍然只适用于某些版本。你永远不能依赖于保持不同的不同。
发布于 2018-01-19 16:05:01
java -version
命令将在其输出文本中提供Java版本详细信息和运行时环境名称。使用Runtime环境名称,您可以找到它。
例如,如果它是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 .....https://stackoverflow.com/questions/15333145
复制相似问题