$java -version
печатает как показано ниже
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Информация, которая меня интересует, является полной версией Java, System.getProperties(), похоже, не имеет этой информации. У него есть только версия до _
, а не информация об обновлении, которая в моем случае 40
.
EDIT: Когда я запускаю тестовый код, System.out.println(System.getProperty("java.version");
печатает полную версию. Но я работаю над большой кодовой базой, в которой не могу получить тот же результат. Я проверил базу кода, если свойство каким-то образом перезаписано в какой-то момент, но ничего не смог найти.
EDIT_2: я выяснил, что java.version
печатает 1.8.0_40, когда я вручную компилирую код с помощью javac
, а затем запускаю его с помощью java
на терминале. Однако он печатает только 1.8.0, когда я запускаю его через IntelliJ.