Próbuję uruchomić moją klasę parsera JSQL, ale otrzymuję Error: java: invalid source release 1.9
.
Próbowałem podążać za tą odpowiedzią . Zmieniłem Plik> Kompilacja, Wykonywanie, Wdrażanie> Kompilator Java> Wersja kodu bajtowego projektu: 1.8. Jednak nie mogę zmienić poziomu języka modułu i poziomu języka projektu na 1.8, ponieważ nie ma na to opcji. Nadal pojawia się ten sam błąd poniżej.
Kod
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();
}
}
}
Odpowiedzi:
Wybierz projekt, a następnie File> ProjectStructure> ProjectSettings> Modules -> sources Prawdopodobnie masz ustawiony poziom języka na 9:
Po prostu zmień go na 8 (lub cokolwiek potrzebujesz) i gotowe.
Sprawdź również te same ustawienia poziomu języka, które wymieniono powyżej, w obszarze Ustawienia projektu> Projekt
źródło
Czasami problem występuje z powodu nieprawidłowej wersji kodu bajtowego projektu.
Sprawdź to: Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Kompilator -> Kompilator Java -> Wersja kodu bajtowego projektu i ustaw jego wartość na 8
źródło
Miałem ten sam problem. Jest odpowiedź:
Rozumiem! Teraz masz Java 9!
źródło
Musisz ustawić JAVA SDK i odpowiedni poziom języka w ustawieniach projektu. Kliknij, aby powiększyć.
źródło
Podczas korzystania z projektu maven.
sprawdź plik pom.xml
jeśli masz zainstalowany jdk 8 na swoim komputerze, zmień
java.version
właściwość z9
na8
źródło
Właśnie miałem podobny problem. Projekt został otwarty przy użyciu Java 9, ale nawet po ustawieniu wszystkich modułów i projektu z powrotem na 1.8, nadal otrzymywałem błąd.
Musiałem zmusić Gradle do odświeżenia projektu, a potem wszystko działało zgodnie z oczekiwaniami.
źródło
Alternatywnie w ustawieniach projektu:
W zależności od konfiguracji Twojej kompilacji może to być właściwy sposób.
źródło
W strukturze projektu w Project SDK: zmień SDK na 11 lub nowszy i na poziomie języka projektu: zmień na 11 - Lokalna składnia zmiennych dla parametrów lambda
źródło
Dla każdego, kto boryka się z tym problemem, który wypróbował rozwiązanie DeanM, ale bezskutecznie, warto sprawdzić jeszcze coś, czyli wersję JDK skonfigurowaną dla swojego projektu. Chcę powiedzieć, że jeśli skonfigurowałeś JDK 8u191 (na przykład) dla swojego projektu, ale masz ustawiony poziom języka na wyższy niż 8, otrzymasz ten błąd.
W takim przypadku prawdopodobnie lepiej jest zapytać kogoś, kto jest odpowiedzialny za projekt, która wersja JDK byłaby lepsza do skompilowania źródeł.
źródło
Miałem też ten sam problem w IntellijIdea, po wybraniu projektu, a następnie File> ProjectStructure> ProjectSettings> Modules -> źródła pokazywała się opcja - poziom języka ustawiony na 9:
Więc po prostu zmieniam to na 8. Mimo to mój problem nie został rozwiązany.
Główny problem dotyczył pom.xml. Ponownie zaimportowałem plik pom.xml i problem został rozwiązany.
Tak więc za każdym razem, gdy zmienisz plik pom.xml, IDEA musi zaktualizować strukturę projektu. Na przykład, jeśli dodałeś tam więcej zależności, IDEA musi dodać je jako biblioteki projektów.
W "Ustawienia> Kompilacja, Wykonanie, Wdrożenie> Narzędzia do budowania> Maven> Importowanie" możesz wybrać "Importuj projekty Maven automatycznie". Spowoduje to automatyczne wywołanie akcji „Reimport” po zmianie pliku pom.xml.
wprowadź opis obrazu tutaj
źródło
Gradle miałem ten sam problem i zmiana wszystkich ustawień podanych we wcześniejszych rozwiązaniach nie robiła różnicy. Następnie poszedłem do build.gradle i znalazłem ten wiersz i usunąłem go.
i zadziałało! :)
źródło
Miałem ten problem podczas uruchamiania projektu SpringBoot (Maven)
W moim pliku POM zmieniłem wersję java z 11 na 8 i zadziałało:
Upewnij się, że
Load maven changes
inaczej zmiana nie będzie odzwierciedlać.źródło