Получение версии Java во время выполнения - PullRequest
107 голосов
/ 07 апреля 2010

Мне нужно обойти ошибку Java в JDK 1.5, которая была исправлена ​​в 1.6. Я использую следующее условие:

if (System.getProperty("java.version").startsWith("1.5.")) {
    ...
} else {
    ...
}

Будет ли это работать для других JVM? Есть ли лучший способ проверить это?

Ответы [ 12 ]

2 голосов
/ 07 апреля 2010

Не знаю другого способа проверить это, но это: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/System.html#getProperties()" подразумевает, что "java.version" является стандартным системным свойством, поэтому я ожидаю, что он будет работать с другими JVM.

1 голос
/ 25 ноября 2017

Вот ответ от @mvanle, преобразованный в Scala: scala> val Array(javaVerPrefix, javaVerMajor, javaVerMinor, _, _) = System.getProperty("java.runtime.version").split("\\.|_|-b") javaVerPrefix: String = 1 javaVerMajor: String = 8 javaVerMinor: String = 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...