В чем причина того, что версия Java НЕ обновляется при успешном обновлении версии Javac? - PullRequest
1 голос
/ 28 февраля 2020

Я установил Java версию 10.0.2 несколько лет назад go, но нужно обновить его до 11.0.2 для определенной цели (не последняя версия 13.0.2. Мне нужно, чтобы она была 11.0.2) ,

После загрузки jdk-11.0.2 я открыл окно переменных среды и внес следующие изменения.

Добавлен новый путь

editing the path

Путь обновлен

enter image description here

Но когда я проверял версию Java в командной строке, она все еще была 10.0.2, хотя Javac версия была обновлена ​​до 11.0.2 ,

enter image description here

Как возможно, что Java версия не обновляется, когда Javac версия успешно обновляется? Было бы понятно, если бы Javac также не был обновлен ...

В чем может быть причина, и как я могу это исправить?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2020

В отличие от всех других пользовательских переменных, переменная пути пользователя не переопределяет системную переменную пути, а добавляется к ней. Следовательно, здесь происходит то, что у вас есть путь к установке Oracle java в самом начале вашей переменной пути, которая переопределяет путь, который вы добавили к установке java 11. Простейшим решением будет отредактировать переменную системного пути и добавить путь java 11 в ее начало. Тем не менее, посмотрите здесь , чтобы узнать, как добавить java на свой путь.

0 голосов
/ 28 февраля 2020

Когда пора запускать программу, программа ищется независимо от окружающих других технологий. Это означает, что ваша команда javac может не быть тесно связана с вашей командой java.

Проверьте ваш путь, который обычно контролируется вашей переменной среды PATH. Если он обнаруживает более новую java, чем javac, есть вероятность, что у вас есть «JRE» в PATH (что исключает добавления «JDK» компиляторов и других инструментов) перед вашими добавлениями «JVM» (которые содержат ваши java команд). Даже если мой «удар в темноте» неверен на 100%, переменная окружения PATH - ключ к решению проблемы.

...