Проверьте, является ли версия 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 собственность также.

Другие вопросы по тегам