1. Обзор
В этой статье мы собираемся показать, как программно узнать, какую версию Spring, JDK и Java использует наше приложение.
2. Как получить версию Spring
Давайте начнем с изучения того, как получить версию Spring, которую использует наше приложение. Для этого мы будем использовать метод getVersion
класса SpringVersion
:
assertEquals("5.1.10.RELEASE", SpringVersion.getVersion());
3. Получение версии JDK
Далее давайте получим версию JDK, которая сейчас используется в нашем проекте. Важно отметить, что Java и JDK — это не одно и то же , поэтому у них будут разные номера версий.
Если мы используем Spring 4.x, для получения этой информации можно использовать класс JdkVersion .
Однако этот класс был удален из Spring 5.x, так что давайте примем это во внимание и будем работать над этим.
Внутри класс Spring 4.x JdkVersion
получал версию из класса SystemProperties
, поэтому давайте сделаем то же самое. Используя класс SystemProperties,
давайте получим доступ к свойству java.version
:
assertEquals("1.8.0_191", SystemProperties.get("java.version"));
В качестве альтернативы мы можем получить доступ к свойству напрямую, не используя этот класс Spring:
assertEquals("1.8.0_191", System.getProperty("java.version"));
4. Получение версии Java
Наконец, давайте посмотрим, как получить версию Java, на которой работает наше приложение. Для этой цели мы будем использовать класс JavaVersion
:
assertEquals("1.8", JavaVersion.getJavaVersion().toString());
Выше мы вызываем метод JavaVersion#getJavaVersion
. По умолчанию это возвращает перечисление с конкретной версией Java, например EIGHT
. Чтобы сохранить форматирование в соответствии с указанными выше методами, мы анализируем его, используя его метод toString .
5. Вывод
В этой статье мы узнали, что довольно просто получить версии Spring, JDK и Java, которые использует наше приложение.
Как всегда, вы можете найти код на GitHub .