Проверьте, является ли версия Java больше, чем определенная итерация в Java?
Я хочу проверить, является ли версия Java пользователя по крайней мере 1.8.0_171. Я имею в виду, что конкретная итерация или выше, то есть, например, 1.8.0_151, не будет работать.
Я планировал изначально использовать org.apache.commons.lang3.SystemUtils' isJavaVersionAtLeast(JavaVersion requiredVersion)
метод, но кажется, что вы не можете указать номер итерации.
Исходя из этого и изменяющегося способа представления номеров версий Java в Java (например, 1.8, затем 9), каков наилучший способ проверки версии Java пользователя в программе Java?
Редактировать:
Это было отмечено как дубликат этого вопроса; однако, я думаю, что это отличается тем, что он спрашивает, как сравнить версию Java с определенной версией, учитывая изменения в формате показа версии Java.
1 ответ
Даже с изменением версий я думаю, что решение по-прежнему так же просто, как использование следующего логического выражения:
"1.8.0_171".compareTo(System.getProperty("java.version")) <= 0
Если пользователь java.version
собственность меньше чем 1.8.0_171
, то приведенное выше выражение возвращает false, и наоборот. Это работает для использования "9"
или же "10"
вместо java.version
собственность также.