IntelliJ: Помилка: java: помилка: версія версії 5 не підтримується


14

Я використовую IntelliJ IDEA Ultimate 2019.3.1 . Кожен раз, коли я намагаюся запустити будь-який простий проект Java Maven (може це бути навіть простим Hello World), я отримую таку помилку:

Error:java: error: release version 5 not supported

Запуск java --versionчерез термінал я отримую наступний висновок:

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)

Запуск javac --versionчерез термінал я отримую наступний висновок:

javac 11.0.5

Перейшовши в Налаштування компілятора Java (як тут запропоновано ), я бачу таке:

Налаштування компілятора Java

Я спробував редагувати " Цільову версію байт-коду " до 1.8, але я отримую такі помилки:

Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
  symbol: class Application
Error:(12, 23) java: cannot find symbol
  symbol:   class Stage
  location: class Main
Error:(7, 9) java: cannot find symbol
  symbol:   method launch(java.lang.String[])
  location: class Main
Error:(11, 5) java: method does not override or implement a method from a supertype

Змінивши його на версію 1.11, я отримав цю помилку:

Error:java: Source option 5 is no longer supported. Use 6 or later.

Як ви думаєте, в чому проблема? Як я можу це вирішити?


Який мовний рівень проекту та модулів?
Bas Leijdekkers

Відповіді:


33

Дивіться  https://stackoverflow.com/a/12900859/104891 .

Перш за все, встановіть language level/ release versionsу pom.xmlтак:

<properties>
  <maven.compiler.source>1.8</maven.compiler.source>
  <maven.compiler.target>1.8</maven.compiler.target>
</properties>

У іншому випадку Maven встановлює значення за замовчуванням 1,5. Вам також потрібно буде включити, maven-compiler-pluginякщо ви ще цього не зробили:

<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
</dependency>

Також спробуйте змінити версію Java у кожному з цих місць:

Файл -> Структура проекту -> Проект -> SDK проекту -> 11.

Файл -> Структура проекту -> Проект -> Рівень мови проекту -> 11.

Файл -> Структура проекту -> Проект -> Модулі -> -> Джерела -> 11

У проекті -> ctrl+ alt+ s-> Збірка, виконання, розгортання -> Компілятор -> Компілятор Java -> Версія байт-коду проекту -> 11

У проекті -> ctrl+ alt+ s-> Збірка, виконання, розгортання -> Компілятор -> Компілятор Java -> Модуль -> 1.11.


2
Я все зробив, але все одно я бачу ту саму помилку, коли запускаю програму
Tushar Jajodia

@TusharJajodia спробуйте включити maven-compiler-pluginяк залежність
Джош Джонсон

Після спроби різноманітних рішень в Інтернеті без везіння цей конкретний рядок вирішив проблему: Файл -> Структура проекту -> Проект -> Модулі -> -> Джерела -> 11
Мад

2

Мені потрібно було деякий час, щоб зібрати фактичне рішення, але ось як позбутися цієї помилки компіляції.

  1. Відкрийте налаштування Intelij
  2. Шукайте "компілятор (або щось на зразок" компілятор "
  3. прокрутіть униз до Maven -> java компілятора. На правій панелі буде список модулів та пов’язана з ними версія Java для компіляції "цільова версія байт-коду".
  4. Виберіть версію> 1.5. Можливо, вам доведеться оновити jdk, якщо його немає. введіть тут опис зображення

1

Якщо ви використовуєте весняне завантаження як батьків, вам слід встановити властивість java.version, оскільки це автоматично встановить правильні версії.

<properties>
   <java.version>11</java.version>
</properties>

Властивість, визначена у вашому власному проекті, переосмислює те, що встановлено у батьківській пам’яті. Це переосмислює всі необхідні властивості для компіляції у правильну версію.

Деякі відомості можна знайти тут: https://www.baeldung.com/maven-java-version


Я також зараз починаю дізнаватися про Spring Boot, тому ця інформація може бути дуже корисною для мене :) чи можете ви поясніть її детальніше? (У якому файлі я повинен змінити ці властивості, що саме слід написати ...?) Спасибі!
Robb1

1
Я додав додаткову інформацію у своєму дописі.
V Янсен

1

якщо ви використовуєте intellj дійшов до налаштування => компілятор, змініть версію на поточну версію ur java


0

Я додаю наступний код у свій pom.xmlфайл, це вирішило мою проблему.

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

Ви повинні додати лише два рядки у свій pom.xml, і після цього проблема не зникне.
Додайте цей два рядки у свій pom.xml -

<!--pom.xml-->
<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

0

У IntelliJ відкрийте файл pom.xml

Додайте цей розділ раніше (Якщо у вашому файлі вже є розділ, просто додайте рядки нижче до цього існуючого розділу):

<properties> 
      <maven.compiler.source>1.8</maven.compiler.source> 
      <maven.compiler.target>1.8</maven.compiler.target> 
   </properties>`

0

Єдиним робочим рішенням у моєму випадку було додавання наступного блоку до pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.0</version> <configuration> <release>12</release>
        </configuration>
        </plugin>
    </plugins>
</build>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.