it-swarm.com.de

die Intellij-Funktion (...) wird auf dieser Sprachebene nicht unterstützt. Ich kann nicht kompilieren

IntelliJ zeigt mir diesen Fehler

Ich habe gerade meinen neuen Computer gebaut und nichts von meinem Java-Zeug funktioniert ... Meine reguläre Intellij funktionierte, als ich es zum ersten Mal ausprobierte, aber mein Android-Studio ließ sich nicht installieren, da es den Pfad zur jdk nicht finden konnte. Hier ist die Frage, die ich dazu gestellt habe. Da das nicht funktionierte, musste ich Java mehrmals neu installieren. Jetzt funktioniert mein IntelliJ nicht mehr. Hier ist ein Bild des Fehlers (Ich erhalte einen Fehler, der besagt, dass die for-each-Schleifen auf dieser Sprachebene nicht unterstützt werden).

Ich habe versucht, das JDK auf meinem Laufwerk D: zu installieren, und das hat nicht funktioniert. Ich versuche gerade, Java 1.8u71 zu verwenden (habe u65 und 1.7u47 ausprobiert), außer dass keine davon funktioniert hat.

18
Seth G.

IntelliJ zeigt mir diesen Fehler

are not supported at this language level

Anpassen des SDK/JDK an das Sprachniveau des Projekts

Um die Java-Sprachfunktionen im Editor zu aktivieren, müssen Sie die Projektstruktur oder Moduleinstellungen Ihres Moduls ändern, um sicherzustellen, dass Ihr Projekt-SDK mit den - übereinstimmt. Projektsprache.

Project SDK (JDK) Java 1.5 entspricht der Projektsprache 5 ...

Java 1.6 entspricht Sprachlevel 6 ...

Java 1.7 entspricht der Sprachstufe 7 usw.

Beispiel

Drücken Sie je nach IntelliJ-Version F4 oder Ctrl + Alt + Shift - S Klicken Sie im Projektfenster auf Ihr Modul, oder klicken Sie auf Ctrl + Shift - A und geben Sie entweder "Projektstruktur" oder "Moduleinstellungen" ein, um das Dialogfeld "Projektstruktur" zu öffnen.

Klicken Sie unter Projekteinstellungen auf das erste Element in der Liste, Projekt.

In der Abbildung unten entspricht das Project SDK 1.8 (Java version '1.8.0_72') der ausgewählten Sprachstufe SDK Default (8 - Lambdas, type annotations etc.), da Java 1.8 der SDK-Stufe 8 entspricht. Hiermit werden die Java 8-Sprachfunktionen für die Verwendung im Editor aktiviert.

project structure

Wenn Sie das JDK nicht unter Project SDK eingerichtet haben, liegt ein anderes Problem vor. Lösen Sie diesen zuerst, indem Sie auf New klicken und ein JDK hinzufügen.

31
activedecay

Wenn ich mehrere unabhängige Module im Projekt hatte, musste ich zusätzlich zu @ activedecays Antwort : .__ folgende Einstellungen vornehmen: Klicken Sie unter Project Settings auf Modules. Wählen Sie ein bestimmtes Modul aus. Wählen Sie das entsprechende Language Level aus.

 Screenshot

15
ramtech

Ich hatte das gleiche Problem und keine der Lösungen, die ich gefunden habe, hat funktioniert. 

Ich verwendete Maven-Projekte und entschied mich daher, einen maven install auszuführen. Es sagte auch:

[ERROR]  thefile.Java:[24,77] diamond operator is not supported in -source 1.5
[ERROR] (use -source 7 or higher to enable diamond operator)
[ERROR] theFile.Java:[91,62] lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)

Also habe ich die Eigenschaften der Maven Build pom.xml Datei hinzugefügt:

<properties>
    <spring.version>4.1.6.RELEASE</spring.version>
    <Java.version>1.8</Java.version>
    <maven.compiler.source>${Java.version}</maven.compiler.source>
    <maven.compiler.target>${Java.version}</maven.compiler.target>
</properties>

Und das Maven-Projekt in IntelliJ aktualisiert. Es funktionierte!

2
HankCa

Ich hatte auch das gleiche Problem.

Während ich über den Namen der Schnittstelle auf eine statische Methode einer Schnittstelle zugegriffen habe, wurde die Fehlermeldung ausgegeben

aufrufe von statischen Schnittstellenmethoden werden auf dieser Sprachstufe 5 nicht unterstützt

Da dies Java 1.8 ist, habe ich einige Dinge überprüft:

  1. Ich benutze Intellij. Also, indem du es tust CTRL+ALT+SHIFT+S Das Dialogfeld Projektstruktur wird geöffnet. Gehen Sie zu

    Projekt -> Projektsprache

    stellen Sie hier den SDK-Standard ein (8-Lambdas, Typanmerkungen usw.).

  2. In Projektstruktur öffnen

    Module -> Quellen -> Sprachniveau

    setzen Sie dies auf Projektstandard (8-Lambdas, Typanmerkungen usw.).

  3. Übernehmen-> OK.

Dann wird der Fehler behoben.

2
kranti

Ein anderes Problem, das diesen Fehler in einem Gradle-Projekt verursacht hatte, war die Einstellung sourceCompatibility in der Datei build.gradle. Dieser Wert muss auch mit dem Wert übereinstimmen, den Sie erwarten. Der Standardwert, den IntelliJ beim Erstellen eines neuen Gradle-Projekts verwendet hat, ist 1.5. Wenn Sie beispielsweise Lambdas verwenden, schlägt der Build fehl.

1
melston