В чем разница в свойствах java.runtime.version и java.version - PullRequest
10 голосов
/ 28 марта 2019

В целях ведения журнала я получаю версию Java, записанную в журнале, когда Java-программа работает.

Я обнаружил, что могу получить версию с

System.getProperty("java.runtime.version") -> 1.8.0_202-b08

и

System.getProperty("java.version") -> 1.8.0_202

В результате явно отсутствует информация о "сборке" в другом, но есть ли другие отличия, кроме результата?Какие-нибудь конкретные случаи, когда мне следует использовать первый вариант, а не второй?

Ответы [ 3 ]

5 голосов
/ 28 марта 2019

java.version - это информация о версии продукта среды выполнения Java (JRE). JRE является реализацией виртуальной машины Java, которая фактически выполняет программы Java.

java.runtime.version - это версия продукта вместе с идентификатором сборки JRE.

5 голосов
/ 28 марта 2019
System Property Name | System Property Content  | Where Displayed in java version Output
---------------------|--------------------------|---------------------------------------
java.version         | product version          | Line one displays the product version
---------------------|--------------------------|---------------------------------------
java.runtime.version | product version          | Line one displays the product version
                     | product build identifier | Line two displays the build identifier

Из документации по *1002*

Содержание системного свойства java.runtime.version может быть расширено (за пределысвойства системного свойства java.version) для включения идентификатора сборки.

Похоже, что значение свойства может быть равно содержимому java.runtime или дифференцироваться по идентификатору build , как уже указывалось в вопросе.

В любом случае, как ранее было указано в комментарии к вопросу , свойство java.runtime.version не отображается среди документированных в настоящее время системных свойств .

4 голосов
/ 28 марта 2019

Одна версия JDK, java.version и, как следует из названия, другая версия JRE, R для среды выполнения

...