Компиляция с фатальной ошибкой: целевой уровень должен находиться между » 1.1 » и » 1.8 » (или ‘5’, ‘5.0’, …, ‘8’ или «8.0») или cldc1.1: 11.0.11

#java #spring #maven

Вопрос:

При создании проекта maven, который был обновлен с java 1.8 до java 11.0.11 . Появляется ошибка ниже.

 Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project XXX.XXX.XXX: Fatal error compiling: target level should be comprised in between '1.1' and '1.8' (or '5', '5.0', ..., '8' or '8.0') or cldc1.1: 11.0.11
 

Конфигурация:

 <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.0</version>
  <configuration>
    <release>11</release>
  </configuration>
</plugin>
 

Комментарии:

1. Просто используй 11.0 . Версия патча обычно не имеет значения.

2. Не могли бы вы уточнить, пожалуйста, это будет полезно. @JohannesKuhn Я тоже пробовал с 11.0, но все равно получаю ту же проблему

3. Это мэйвен? Тогда попробуй 1.11 . Потому что… Мэйвен.

4. Пожалуйста, добавьте свое полное pom.xml

5. Возможно, попробуйте использовать версию 3.8.1 плагина. Похоже, 3.8.0 был опубликован в июле 2018 года, то есть за 2 месяца до выпуска Java 11 (сентябрь 2018 года).

Ответ №1:

Вы должны использовать область конфигурации плагина…

 <project>
  [...]
  <build>
    [...]
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.1</version>
        <configuration>
          <release>11</release>
        </configuration>
      </plugin>
    </plugins>
    [...]
  </build>
  [...]
</project>
 

Комментарии:

1. Операция использует его, сообщение просто плохо отформатировано.

2. Да, но опубликованное сообщение об ошибке показывает другое поведение…не соответствует сообщению об ошибке…

3. Также в старой версии поддерживались опции см. maven.apache.org/plugins-archives/maven-compiler-plugin-3.8.0/…