是否有不同安装产生的版本输出的列表?

时间:2018-10-17 14:43:49

标签: java versioning

我有一个Shell脚本,应该可以检测到不兼容(太旧)的Java安装。

不幸的是,java -version的输出似乎变化很大,是否有一些网站收集了尽可能多的示例,所以我可以针对它们测试我的脚本?

1 个答案:

答案 0 :(得分:2)

我有类似的功能,即检测Java的过时版本。我发现了同样的问题,即java -version的可变性太大,尤其是因为我的需求是主要版本的粒度。我发现System属性java.vm.specification.version实际上是需要的(也许您也确实需要)。 我在运行时在应用程序中解决了该问题,但是,此处完成的操作可以轻松地用作小型独立应用程序。

final String javaVersion = System.getProperty("java.vm.specification.version");
final String[] versionInfo = StringUtils.split(javaVersion, ".");
if (Integer.parseInt(versionInfo[0]) == 1 && Integer.parseInt(versionInfo[1]) < 8) {
    logger.error("Java 1.8 required. Unable to run with Java " + javaVersion);
    throw new IllegalArgumentException("Java 1.8 required. Runtime java version: " + javaVersion);
}