IntelliJ – Ungültige Quellenfreigabe: 17

Lesezeit: 5 Minuten

Ich habe ein neues Java-Projekt in IntelliJ mit Gradle erstellt, das Java 17 verwendet. Beim Ausführen meiner App tritt der Fehler auf Cause: error: invalid source release: 17.

Meine Einstellungen

Ich habe installiert openjdk-17 durch IntelliJ und setze es als meine Project SDK.

Das Project language level eingestellt wurde 17 - Sealed types, always-strict floating-point semantics.

Geben Sie hier die Bildbeschreibung ein

Im Modules -> Sources Ich habe die eingestellt Language level zu Project default (17 - Sealed types, always strict floating-point semantics).

Quellen”>

Im Modules -> Dependencies Ich habe die eingestellt Module SDK zu Project SDK openjdk-17.

0DMAk Abhängigkeiten”>

Im Settings -> Build, Execution, Deployment -> Compiler -> Java Compiler Ich habe die eingestellt Project bytecode version zu 17.

Geben Sie hier die Bildbeschreibung ein

Gradl

plugins {
    id 'org.springframework.boot' version '2.5.6'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.app'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-websocket'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
}

test {
    useJUnitPlatform()
}

Ich habe mir alle Antworten hier angesehen, aber ich kann das anscheinend nicht beheben. Ich muss etwas vermissen, aber ich kann es nicht finden. Ich hatte keine Probleme mit Java 8 oder 11.

Wie löse ich das?

Stellen Sie in intellij einfach Gradle JVM auf Java Version 17 ein.

“File -> Settings.. -> Build, Execution, Deployment -> Build Tools -> Gradle” wählen Sie dort Ihr Projekt aus und stellen Sie Gradle JVM auf Ihr Java 17.0.1 ein

  • Menü „IntelliJ Idea -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle“ in macOS

    – Leojh

    20. Januar um 0:44 Uhr

  • Es gibt das Menü, aber kein auswählbares Feld für Projekt und Gradle JVM im Menü 🙁 (Windows10 x64, Intellij 2021.3.1 Ultimate)

    – Jay Lim

    27. Januar um 8:11 Uhr

  • Wie kann ich das bookmarken? Darauf muss ich immer wieder zurückkommen.

    – Jorge Tovar

    6. Juli um 21:46 Uhr

  • Möglicherweise möchten Sie auch das Projekt-SDK über Datei -> Projektstruktur (⌘;) -> Projekteinstellungen -> Projekt -> SDK ändern. Andernfalls könnten Sie bekommen java.lang.UnsupportedClassVersionError

    – Saiteja Parsi

    8. September um 23:20 Uhr

Stellen Sie Gradle JVM auf Build jvm ein

Datei -> Einstellungen.. ->Geben Sie hier die Bildbeschreibung ein

  • Dieser Pfad ist nicht mehr gültig. Sie müssen zu den Einstellungen und dann zu Gradle gehen

    – Jorge Tovar

    18. Juli um 15:27 Uhr

Ein Bild sagt mehr als tausend Worte!

Geben Sie die Einstellungen ein und ändern Sie Gradle JVM.

Geben Sie hier die Bildbeschreibung ein

Benutzeravatar von tmarwen
tmarwen

Die Nachricht beinhaltet normalerweise, dass Ihre JAVA_HOME Umgebungsvariable zeigt auf eine andere Java Ausführung.

Hier sind die folgenden Schritte:

  • Nah dran IntelliJ-IDEE
  • Öffnen Sie ein Terminalfenster und überprüfen Sie Ihre JAVA_HOME Variablenwert:
    • *Nix-System: echo $JAVA_HOME
    • Windows-System: echo %JAVA_HOME%
  • Das JAVA_HOME path sollte auf einen anderen Pfad zeigen, dann setze ihn auf den openjdk-17 Weg:
    • *Nix-System: export JAVA_HOME=/path/to/openjdk-17
    • Windows-System: set JAVA_HOME=path\to\openjdk-17
  • Öffnen Sie Ihr Projekt erneut in IntelliJ-IDEE
  • Stellen Sie sicher, dass beides eingestellt ist Quelle und Ziel Kompatibilitätsversionen (nicht nur die sourceCompatibility)

Sie sollten in der Lage sein, Ihr Projekt zu erstellen.

BEARBEITEN: Gradle-Toolchain

Möglicherweise müssen Sie auch anweisen Gradl anders verwenden JVM als die, die es selbst verwendet, indem es die Java Plugin-Toolchain zu Ihrer Zielversion:

// build.gradle
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(17)
    }
}

Stellen Sie JAVA_ HOME TO JDK 17 ein und überprüfen Sie dies, indem Sie cmd -> javac öffnen. Dies sollte die aktuelle Java-Version Ihres Computers zurückgeben

  • Ich habe dies getan und IntelliJ neu gestartet. Ich bekomme immer noch den gleichen Fehler. Wenn ich das wiederhole JAVA_HOME es sieht richtig aus. echo %JAVA_HOME% C:\Users\Michael\.jdks\openjdk-17.0.1

    – Michael

    24. Oktober 2021 um 12:26 Uhr

  • docs.gradle.org/current/userguide/compatibility.html Sehen Sie sich diese Kompatibilitätsmatrix an Stellen Sie sicher, dass Sie diese verwenden. Versuchen Sie es einmal auf jdk 16 auszuführen.

    – Virbhadra Kaulwar

    25. Oktober 2021 um 18:59 Uhr

Es kann viele Gründe geben, aus denen dieser Fehler von intellij ausgegeben wird

  • Überprüfen Sie Ihr JAVA_HOME ->
echo $JAVA_HOME

Wenn JAVA_HOME nicht korrekt ist, aktualisieren Sie die Umgebungsvariable JAVA_HOME.

  • Überprüfen Sie, ob die Projektstruktur in IntelliJ korrekt ist.
File > Project Structure > Project Setting > Project -> SDK and Language level should match

File > Project Structure > Project Setting > Modules -> Language Level should match with SDK
  • Überprüfen und korrigieren Sie die Einstellungen in den Einstellungen, ob sie korrekt sind
Preferences > Build, Execution and Deployment > Gradle > Gradle JVM should match with SDK (Preferences > Build, Execution and Deployment > maven if you're using maven)

Preferences > Build, Execution and Deployment > Compiler > Java Compiler > Project Bytecode version (this should match with your SDK as well)

  • Ich habe dies getan und IntelliJ neu gestartet. Ich bekomme immer noch den gleichen Fehler. Wenn ich das wiederhole JAVA_HOME es sieht richtig aus. echo %JAVA_HOME% C:\Users\Michael\.jdks\openjdk-17.0.1

    – Michael

    24. Oktober 2021 um 12:26 Uhr

  • docs.gradle.org/current/userguide/compatibility.html Sehen Sie sich diese Kompatibilitätsmatrix an Stellen Sie sicher, dass Sie diese verwenden. Versuchen Sie es einmal auf jdk 16 auszuführen.

    – Virbhadra Kaulwar

    25. Oktober 2021 um 18:59 Uhr

Benutzeravatar von Darko Manojlovic
Darko Manojlovic

setze in build.gradle sourceCompatibility = ’11’ nicht sourceCompatibility = ’17’

  • Willkommen bei SO! Bitte werfen Sie einen Blick auf die anderen Antworten, die zuvor gegeben wurden. Da ist dein Ansatz schon erwähnt. Um die Seite übersichtlich zu halten und das Auffinden von Antworten zu erleichtern, versuchen wir Doppelantworten zu vermeiden.

    – ahuemmer

    29. August um 7:56 Uhr

1424670cookie-checkIntelliJ – Ungültige Quellenfreigabe: 17

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy