Java-версия показывает java 8, в то время как установлена ​​java 11

После установки java 11 в моей системе время выполнения по-прежнему составляет 1,8.

Установленные версии java:

  • C:\Program Files\Java\jre1.8.0_201
  • C:\Program Files\Java\jdk-11.0.3

Значение переменной окружения JAVA_HOME: C:\Program Files\Java\jdk-11.0.3

В командной строке выполняется команда java -version, ожидая увидеть информацию о java 11, но вместо этого я вижу java 8.

Изменение значения переменной среды не меняет результатов, перезагрузка, похоже, ничего не делает.

C:\Users\user>java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) Client VM (build 25.211-b12, mixed mode)

ожидается, что отображается информация о времени выполнения Java 11


person TheZerg    schedule 06.06.2019    source источник
comment
посмотрите на свою переменную среды PATH.   -  person jalynn2    schedule 06.06.2019
comment
Откройте окно командной строки Windows и введите команду where java.   -  person Abra    schedule 07.06.2019
comment
кажется, указывает на: C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe   -  person TheZerg    schedule 07.06.2019


Ответы (6)


Это случилось со мной только вчера. Следовал инструкциям в письме, и все равно получил другую версию Java (1.8.0) вместо ожидаемой (11.0.5) для моей загруженной версии JDK11. Забавно, но подсказка CMD вернула правильную версию Java (11.0.5) для команды 'javac -version', но не для обычной команды 'java -version'. Мой ИТ-эксперт даже сказал мне попробовать удалить существующую загрузку Java, так как он не мог придумать ничего другого, чтобы попробовать... (в итоге я не удалил Java)

Выходит, он мне хоть и помог, может быть, случайно, но понял это задним числом. Он сказал мне попробовать переместить переменную пути

%JAVA_HOME%\бин

до самого верха отображаемого списка переменных пути в окне [Редактировать переменную среды] для параметра PATH System Variable. Это не сработало сразу, поэтому мы решили, что это не имело никакого эффекта. Но я считаю, что это не удалось, потому что оказалось, что я допустил оплошность при вводе переменной в первую очередь. Я написал слово «дом» маленькими, а не большими заглавными буквами. Как только я понял свою ошибку и исправил ее, чтобы показать «HOME» большими заглавными буквами, моя подсказка CMD вернула правильную версию java (11.0.5), которая соответствовала результату команды javac -version.

Обратите внимание:
затем я попытался переместить переменную %JAVA_HOME%\bin обратно в конец списка, где она была первоначально создана, и команда java -version больше не отображала версию 11.0. .5, но вернул исходный ответ v.1.8.0. Итак, я немного поигрался и обнаружил, что эта переменная должна быть ВЫШЕ следующей переменной в существующем окне PATH:

C:\Program Files (x86)\Common Files\Oracle\Java\javapath

Надеюсь, это поможет другим, как это помогло мне!

person Roxtar26    schedule 06.11.2019
comment
Я сталкивался с этой проблемой, когда учился в колледже, для себя я подумал, что нет, пока мои компиляции работают, я в порядке, пока мой проект в компании теперь не требует v11. И теперь мне пришлось действительно использовать v11 вместо 8. Черт, я не знал, что это просто расположение JAVA_Home над путем, теперь он действительно отображает v11 вместо 8, если я перемещаю домашний путь java над */javapath ценность - person iamjoshua; 13.12.2019
comment
PS: пришлось закрыть весь экземпляр IntelliJ, завершив дерево процессов, а затем снова открыв InteliJ для переменных среды, используемых в IntelliJ, для обновления и использования недавно обновленных системных переменных. Поэтому, когда ваше изменение не отображается в терминале IntelliJ, но отображается в терминале Windows, обязательно закройте все процессы IntelliJ и снова откройте приложение, чтобы оно обновило env. переменные, хранящиеся в его локальном хранилище. - person iamjoshua; 13.12.2019
comment
Перемещение JAVA_HOME в качестве первой записи в списке действительно помогло... хорошо. - person Piotr Niewinski; 17.02.2020

В переменных среды переместите JAVA_HOME выше, как показано на рисунке ниже:

введите описание изображения здесь

А для Java 8 можно создать JAVA8_HOME как на картинке

person Beno Arakelyan    schedule 19.11.2019

В переменных системной среды добавьте PATH, чтобы указать на новую папку bin JDK, и удалите старую запись.

%JAVA_HOME%\bin
person TechFree    schedule 06.06.2019
comment
Выполнение этого теперь вызывает следующее сообщение: «java» не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл. - person TheZerg; 07.06.2019

Я решил это, обновив path в пользовательских переменных вместо обновления системных переменных.

В настоящее время у меня есть:

JAVA_HOME = C:\Program Files\Java\jdk-11.0.6

и

path, содержащий %JAVA_HOME%\bin

(в переменной пользователя)

person Shreevidya S    schedule 11.04.2020

Просто убедитесь, что вы добавили следующий путь как в пользовательские, так и в системные переменные. C:\Program Files\Java\jdk-11.0.3

это определенно сработает, если не попробовать разместить их наверху.

person mohan    schedule 06.07.2021

Я столкнулся с той же проблемой, и вот как я ее решил.

В cmd/terminal введите where java, это вернет все установленные версии java в системе.

введите здесь описание изображения

В моем случае я как-то установил java 11 некоторое время назад (не помню, когда). Затем я удалил 2 каталога java 11 и Oracle java в приведенном выше списке осторожно. Затем добавил JAVA_HOME

введите здесь описание изображения

и PATH - %JAVA_HOME%\bin соответственно, тогда заработало.

введите здесь описание изображения

person Dhamo    schedule 01.08.2021