Intellij-Idee - Fehler: Java: Ungültige Quellversion 1.9


128

Ich versuche, meine JSQL-Parser-Klasse auszuführen, aber ich bekomme Error: java: invalid source release 1.9.

Ich habe versucht, dieser Antwort zu folgen . Ich habe Datei> Erstellen, Ausführen, Bereitstellen> Java Compiler> Projektbytecode-Version geändert: 1.8. Ich kann jedoch die Modulsprachenstufe und die Projektsprachenstufe nicht auf 1,8 ändern, da es dafür keine Option gibt. Ich erhalte immer noch den gleichen Fehler unten.

Error Geben Sie hier die Bildbeschreibung ein

Code

package cs4321.project2;

import java.io.FileReader;
import net.sf.jsqlparser.parser.CCJSqlParser;
import net.sf.jsqlparser.statement.Statement;
import net.sf.jsqlparser.statement.select.Select;

public class Parser {
    private static final String queriesFile = "resources/input/queries.sql";

    public static void main(String[] args) {
        try {
            CCJSqlParser parser = new CCJSqlParser(new FileReader(queriesFile));
            Statement statement;
            while ((statement = parser.Statement()) != null) {
                System.out.println("Read statement: " + statement);
                Select select = (Select) statement;
                System.out.println("Select body is " + select.getSelectBody());
            }
        } catch (Exception e) {
            System.err.println("Exception occurred during parsing");
            e.printStackTrace();
        }
    }
}

Welche Version von Intellij?
Soorapadman

@soorapadman Intellij Idee 2017.2.2
Alex

scheint in Ordnung zu sein, es sollte funktionieren. Arbeiten Sie mit Maven Project?
Soorapadman

Ich kann jedoch die Modulsprachenstufe und die Projektsprachenstufe nicht auf 1,8 ändern, da dies nicht möglich ist. Warum ist das so? und welchen Fehler bekommen Sie, wenn Sie versuchen, dies zu tun? Auch 1.9 scheint die Java-Version zu sein. Haben Sie Java-9 auf Ihrem Computer / IntelliJ konfiguriert?
Naman

Antworten:


322

Wählen Sie das Projekt aus und dann Datei> ProjectStructure> ProjectSettings> Module -> Quellen. Sie haben wahrscheinlich die Sprachstufe auf 9 eingestellt:

Bildschirmfoto

Ändern Sie es einfach auf 8 (oder was auch immer Sie brauchen) und schon kann es losgehen.

Überprüfen Sie auch die oben genannten Einstellungen für die Sprachstufe unter Projekteinstellungen> Projekt

Geben Sie hier die Bildbeschreibung ein


1
Oh, endlich weiß ich, was das Sprachniveau des Projekts bedeutet, danke
Daniel Dai

1
Vergessen Sie auch nicht, im obigen Bild den Abschnitt Module zu besuchen
John Peters

1
Bessere Änderung in pom.xml <java.version> 1.8 </java.version> Wie, sonst kann die Konfiguration beim erneuten
Import

19

Manchmal tritt das Problem aufgrund der falschen Version des Projektbytecodes auf.

Überprüfen Sie dies: Datei -> Einstellungen -> Erstellen, Ausführen, Bereitstellen -> Compiler -> Java-Compiler -> Projektbytecode-Version und setzen Sie den Wert auf 8

Beispiel


1
Es war die Lösung für mich oben in den Projekteinstellungen -> Module -> Sprachniveau
Kemal Atik

1
Dies ist eine großartige ergänzende Antwort auf die akzeptierte.
Dalton

14

Ich hatte das gleiche Problem. Es gibt eine Antwort:

  • 1. STRG + ALT + UMSCHALT + S ;
    1. Gehen Sie dann zu " Module" ;
    2. " Abhängigkeiten ;
    3. Ändern Sie " Module SDK ".

Verstanden! Jetzt hast du Java 9!


4

Intellij-Invalid-Quelle

Sie müssen das JAVA SDK und die entsprechende Sprachstufe in den Projekteinstellungen festlegen. Klicken um zu vergrößern.


3

Bei Verwendung von Maven Project.

Überprüfen Sie die Datei pom.xml

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>9</java.version>
</properties>

Wenn Sie JDK 8 auf Ihrem Computer installiert haben, ändern Sie die java.versionEigenschaft von 9in8


2

Ich hatte gerade ein ähnliches Problem. Das Projekt wurde mit Java 9 geöffnet, aber selbst nachdem alle Module und das Projekt auf 1.8 zurückgesetzt wurden, wurde immer noch der Fehler angezeigt.

Ich musste Gradle zwingen, das Projekt zu aktualisieren, und dann lief alles wie erwartet.


1

Alternativ über Projekteinstellungen:

  • Projekt Einstellungen
  • Projekt
  • Projektsprachenstufe (auf Ihre Bedürfnisse zugeschnitten)

Abhängig davon, wie Ihr Build eingerichtet ist, ist dies möglicherweise der richtige Weg.


1

In der Projektstruktur im Projekt-SDK: Ändern Sie das SDK auf 11 oder höher und in der Projektsprachenebene auf 11 - Lokale Variablensyntax für Lambda-Parameter


0

Für alle, die mit diesem Problem zu kämpfen haben und die Lösung von DeanM ausprobiert haben, aber ohne Erfolg, gibt es noch etwas, das es wert ist, überprüft zu werden. Dies ist die Version des JDK, die Sie für Ihr Projekt konfiguriert haben. Ich versuche zu sagen, dass Sie diesen Fehler erhalten, wenn Sie JDK 8u191 (zum Beispiel) für Ihr Projekt konfiguriert haben, aber die Sprachstufe auf einen höheren Wert als 8 eingestellt hat.

In diesem Fall ist es wahrscheinlich besser zu fragen, wer für das Projekt verantwortlich ist, welche Version des JDK zum Kompilieren der Quellen vorzuziehen ist.


0

Ich hatte auch das gleiche Problem in IntellijIdea, nachdem ich das Projekt ausgewählt hatte, dann Datei> ProjectStructure> ProjectSettings> Module -> Quellen, die die Option anzeigte - die Sprachstufe auf 9 eingestellt:

Also ändere ich es einfach auf 8. Trotzdem wurde mein Problem nicht gelöst.

Das Hauptproblem war mit pom.xml. Ich habe die Datei pom.xml erneut importiert und mein Problem wurde behoben.

Wenn Sie also die Datei pom.xml ändern, muss IDEA die Projektstruktur aktualisieren. Wenn Sie dort beispielsweise weitere Abhängigkeiten hinzugefügt haben, muss IDEA diese als Projektbibliotheken hinzufügen.

Unter "Einstellungen> Erstellen, Ausführen, Bereitstellen> Build-Tools> Maven> Importieren" können Sie "Maven-Projekte automatisch importieren" auswählen. Dies ruft automatisch die Aktion "Reimport" auf, wenn die Datei pom.xml geändert wird.

Geben Sie hier die Bildbeschreibung ein


0

Gradle Ich hatte das gleiche Problem und das Ändern aller Einstellungen in den früheren Lösungen machte keinen Unterschied. Dann ging ich zum build.gradle und fand diese Zeile und löschte sie.

sourceCompatibility = '11'

und es hat funktioniert! :) :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.