У меня есть простой проект Java, и я пытаюсь изменить версию Java в Intellij с Java 11 на Java 8. Это не проект maven. Я нашел кое-что в Google, и это выглядит просто, но это не работает.
Итак, я нажал ctrl + shift + alt + s и здесь я заменил jdk11 на jdk1.8:
Но теперь, если я запускаю java -version на терминале Intellij, я получаю это в консоли:
java version "11.0.14" 2022-01-18 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.14+8-LTS-263)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.14+8-LTS-263, mixed mode)
Похоже, он продолжает использовать Java 11. Что еще мне делать? Спасибо!
Попробуйте вывести результат System.getProperty("java.version")
как System.out.println(System.getProperty("java.version"));
, чтобы увидеть, какая версия Java используется IDE для запуска вашего кода.
Изменение JDK в пользовательском интерфейсе IntelliJ не влияет на его терминал Intellij:
При изменении JDK мы должны помнить, что это влияет только на JDK, используемый IntelliJ. Поэтому при запуске проекта Java через командную строку он по-прежнему будет использовать JDK, указанный в переменной среды JAVA_HOME.
Поэтому при запуске java
на терминале Intellij вам все равно нужно установить JAVA_HOME, чтобы изменить версию Java.
Это верно лишь частично. Это зависит от точной локальной настройки. Переменная $PATH
/%PATH%
является определяющим фактором использования JDK (хотя рекомендуется ставить $JAVA_HOME/bin
/%JAVA_HOME%/bin
на $PATH
/%PATH%
).
Терминал — это просто терминал. Он будет использовать любой
java
исполняемый файл, который он сможет найти в$PATH
/%PATH%
первым. В вашем случае это Java 11 JRE.