Error invalid target release 17

Error invalid target release 17

Мы обновили проект с Java 11 до Java 17, и mvn test попадает в Fatal error compiling: error: invalid target release: 17

Версия Java уже 17.

1. Узнайте версию Java в Maven

Maven может использовать другую версию Java для компиляции проекта, и мы можем использовать mvn -version, чтобы узнать подробности Maven.

Попробуйте распечатать JAVA_HOME переменную среды; Maven находит JAVA_HOME для компиляции Java.

2. Решение – обновить JAVA_HOME

Обновление переменной среды JAVA_HOME и обеспечение того, чтобы она указывала на правильный JDK.

2.1 Для macOS откройте ~/.zshenv и обновите JAVA_HOME до Java 17

JAVA_HOME указывает на Java 11.

Примечание

Для Windows или Linux найдите JAVA_HOME переменную среды и убедитесь, что она указывает на правильный JDK.

spring-boot: Fatal error compiling: invalid target release: 17

Просто просматриваю руководство по весенней загрузке и застреваю на выполнении шага 4.4.4 $ mvn spring-boot:run

Все, что я могу найти в Google, похожее на эту ошибку, указывает на несоответствие версии Java, используемой maven, но это не так

$ java -version

java version “1.8.0_333”

Java(TM) SE Runtime Environment (build 1.8.0_333-b02)

Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)

$ javac -version

javac 1.8.0_333

$ mvn -v

Apache Maven 3.8.6 (84538c9988a25aec085021c365c560670ad80f63)

Maven home: /Users/myuser/tools/apache-maven-3.8.6

Java version: 1.8.0_333, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home/jre

Default locale: en_US, platform encoding: UTF-8

OS name: “mac os x”, version: “12.4”, arch: “x86_64”, family: “mac”

$ echo $JAVA_HOME

/Library/Java/JavaVirtualMachines/jdk1.8.0_333.jdk/Contents/Home

Ответ

Вы должны проверить, какая версия Java настроена в JAVA_HOME. Использование: mvn -version Вы должны увидеть что-то вроде этого из mvn вывода

$ mvn -version

Apache Maven 3.8.5 (3599d3414f046de2324203b78ddcf9b5e4388aa0)

Maven home: path\apache-maven-3.8.5

Java version: 17.0.3.1, vendor: Oracle Corporation, runtime: path\Java\jdk-17.0.3.1

Default locale: en_US, platform encoding: Cp1252

OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “windows”

убедитесь, что Maven использует JAVA, которая такая же или новее, чем ваша цель.

обновите JAVA_HOME до более новой установленной вами Java.

закройте любой старый терминал (даже если используется VSCode)

и откройте, запустите mvn -version команду. убедитесь, что “runtime:” указывает на ваш новый путь JAVA

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

вы можете либо установить 17 в <target> и <source> в <configuration> maven-compiler-plugin

<plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-compiler-plugin</artifactId>

  <configuration>

  <source>17</source>

  <target>17</target>

  </configuration>

</plugin>

или

установите 17 в maven-compiler-source (и target) в <properties>

<maven.compiler.source>17</maven.compiler.source>

<maven.compiler.target>17</maven.compiler.target>

затем вам нужно установить jdk 17 в JAVA_HOME (вы можете проверить это с помощью команды mvn -v)

обратите внимание, что: с помощью (например) jdk-11 вы можете компилировать проекты с более низкой версией Java, но для компиляции проектов с java 11 вам нужно установить jdk-11 или выше.

Наталья Петрова
Оцените автора
Новости города Салавата
Добавить комментарий

Adblock
detector