Проверьте, является ли версия Java больше, чем определенная итерация в Java? - PullRequest
0 голосов
/ 05 июля 2018

Я хочу проверить, является ли пользовательская версия Java по крайней мере 1.8.0_171. Я имею в виду, что конкретная итерация или выше, то есть, например, 1.8.0_151, не будет работать.

Я планировал изначально использовать метод isJavaVersionAtLeast(JavaVersion requiredVersion) org.apache.commons.lang3.SystemUtils, но, похоже, вы не можете указать номер итерации.

На основании этого и изменяющегося способа представления номеров версий Java в Java (например, 1.8, а затем 9), как лучше всего проверить версию Java пользователя в программе Java?

Edit:

Это было отмечено как дубликат этого вопроса ; однако, я думаю, что это отличается тем, что он спрашивает, как сравнить версию Java с определенной версией, учитывая изменения в формате отображения версии Java.

1 Ответ

0 голосов
/ 05 июля 2018

Даже с изменением версий я думаю, что решение все еще так же просто, как использование следующего логического выражения:

"1.8.0_171".compareTo(System.getProperty("java.version")) <= 0

Если свойство пользователя java.version меньше 1.8.0_171, то вышеприведенное выражение возвращает false, и наоборот. Это работает для использования "9" или "10" вместо свойства java.version.

...