Ich versuche, meine JSQL-Parser-Klasse auszuführen, bekomme aber Error: Java: invalid source release 1.9
.
Ich habe versucht, dieser Antwort zu folgen . Ich habe Datei> Build, Ausführung, Bereitstellung> Java Compiler> Bytecode-Version des Projekts geändert: 1.8. Ich kann jedoch nicht das Sprachniveau des Moduls und des Projekts auf 1.8 ändern, da hierfür keine Option verfügbar ist. Ich bekomme immer noch den gleichen Fehler.
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();
}
}
}
Wählen Sie das Projekt aus und wählen Sie dann Datei> Projektstruktur> Projekteinstellungen> Module -> sources Sie haben wahrscheinlich den Sprachlevel auf 9 eingestellt:
Ändern Sie es einfach auf 8 (oder was auch immer Sie benötigen) und schon kann es losgehen.
Überprüfen Sie auch die gleichen Sprachebeneneinstellungen unter Projekteinstellungen> Projekt
Ich hatte das gleiche Problem. Es gibt eine Antwort:
Verstanden! Jetzt haben Sie Java 9!
Ich hatte gerade ein ähnliches Problem. Das Projekt wurde mit Java 9 geöffnet, aber auch nachdem alle Module und das Projekt auf 1.8 zurückgesetzt wurden, wurde der Fehler weiterhin angezeigt.
Ich musste Gradle zwingen, das Projekt zu aktualisieren, und dann lief alles wie erwartet.
Alternativ über Projekteinstellungen:
Je nachdem, wie Ihr Build eingerichtet ist, ist dies möglicherweise der Weg.
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 Eigenschaft Java.version
von 9
in 8
.
Für alle, die mit diesem Problem zu kämpfen haben und die DeanMs Lösung ausprobiert haben, aber ohne Erfolg, gibt es noch etwas, das es zu prüfen gilt. Dies ist die Version des JDK, die Sie für Ihr Projekt konfiguriert haben. Ich versuche zu sagen, dass, wenn Sie JDK 8u191 (zum Beispiel) für Ihr Projekt konfiguriert haben, der Sprachlevel jedoch auf etwas höher als 8 eingestellt ist, dieser Fehler angezeigt wird.
In diesem Fall ist es wahrscheinlich besser zu fragen, wer für das Projekt verantwortlich ist. Welche Version des JDK wäre für die Erstellung der Quellen vorzuziehen.
Ich hatte auch das gleiche Problem in IntellijIdea, nachdem ich das Projekt ausgewählt hatte, dann Datei> Projektstruktur> Projekteinstellungen> Module -> Quellen, in denen die Option angezeigt wurde - der Sprachlevel wurde auf 9 eingestellt:
Also, ich ändere es einfach zu 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.
Jedes Mal, wenn Sie die Datei pom.xml geändert haben, muss IDEA die Projektstruktur aktualisieren. Wenn Sie beispielsweise einige weitere Abhängigkeiten hinzugefügt haben, muss IDEA diese als Projektbibliotheken hinzufügen.
In "Einstellungen> Erstellen, Ausführen, Bereitstellung> Erstellungstools> Maven> Importieren" können Sie "Maven-Projekte automatisch importieren" auswählen. Dadurch wird automatisch die Aktion "Reimport" aufgerufen, wenn pom.xml geändert wird.