我正在构建一个应用程序,用户可以在其中更改 Java 设置并可以指向任何 jdk。但是它必须是 Oracle JDK,而不应该是 openJDK。有没有办法检查JDK是否是开放的JDK或Oracle JDK给定它的java路径c:\bin\jdk\binjava.exe
?
问问题
3175 次
2 回答
2
最简单的方法是 System.exec()
c:\bin\jdk\bin\java.exe -version
并解析它的输出。OpenJDK 和 Sun JDK 有不同的文本输出。
这不是最佳的,但请考虑:即使您发现类名、功能或类似的差异,它仍然只适用于某些版本。你永远不能依靠差异来保持不同。
于 2013-03-11T07:26:04.883 回答
1
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 .....
于 2018-01-19T08:05:00.760 回答