Używam IntelliJ IDEA Ultimate 2019.3.1 . Ilekroć próbuję uruchomić dowolny prosty projekt Java Maven (może to być nawet zwykły Hello World), pojawia się następujący błąd:
Error:java: error: release version 5 not supported
Uruchomiony java --version
przez terminal otrzymuję następujące dane wyjściowe:
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Ubuntu-0ubuntu1.1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Ubuntu-0ubuntu1.1, mixed mode, sharing)
Uruchomiony javac --version
przez terminal otrzymuję następujące dane wyjściowe:
javac 11.0.5
Przechodząc do ustawień kompilatora Java (zgodnie z sugestią tutaj ) widzę to:
Próbowałem edytować „ Docelową wersję kodu bajtowego ” na 1.8, ale otrzymuję następujące błędy:
Error:(1, 26) java: package javafx.application does not exist
Error:(2, 20) java: package javafx.stage does not exist
Error:(4, 27) java: cannot find symbol
symbol: class Application
Error:(12, 23) java: cannot find symbol
symbol: class Stage
location: class Main
Error:(7, 9) java: cannot find symbol
symbol: method launch(java.lang.String[])
location: class Main
Error:(11, 5) java: method does not override or implement a method from a supertype
Zmieniając go na wersję 1.11 , zamiast tego pojawia się ten błąd:
Error:java: Source option 5 is no longer supported. Use 6 or later.
Jak myślisz, w czym jest problem? Jak mogę to rozwiązać?
java
intellij-idea
Robb1
źródło
źródło
Odpowiedzi:
Zobacz https://stackoverflow.com/a/12900859/104891 .
Przede wszystkim ustaw
language level
/release versions
in w następujący sposóbpom.xml
:W przeciwnym razie Maven ustawi wartość domyślną na 1,5. Będziesz także musiał podać,
maven-compiler-plugin
jeśli jeszcze tego nie zrobiłeś:Spróbuj także zmienić wersję Java w każdym z tych miejsc:
Plik -> Struktura projektu -> Projekt -> Zestaw SDK projektu -> 11.
Plik -> Struktura projektu -> Projekt -> Poziom języka projektu -> 11.
Plik -> Struktura projektu -> Projekt -> Moduły -> -> Źródła -> 11
W projekcie -> ctrl+ alt+ s-> Kompilacja, wykonanie, wdrożenie -> Kompilator -> Kompilator Java -> Wersja kodu bajtu projektu -> 11
W projekcie -> ctrl+ alt+ s-> Kompilacja, wykonanie, wdrożenie -> Kompilator -> Kompilator Java -> Moduł -> 1.11.
źródło
maven-compiler-plugin
jako zależnośćZajęło mi trochę czasu, aby zebrać rzeczywiste rozwiązanie, ale oto jak pozbyć się tego błędu kompilacji.
źródło
Jeśli używasz Spring Boot jako elementu nadrzędnego, powinieneś ustawić właściwość java.version, ponieważ spowoduje to automatyczne ustawienie poprawnych wersji.
Właściwość zdefiniowana we własnym projekcie zastępuje wszystko, co jest ustawione w pom nadrzędnym. To zastępuje wszystkie potrzebne właściwości do skompilowania do poprawnej wersji.
Niektóre informacje można znaleźć tutaj: https://www.baeldung.com/maven-java-version
źródło
jeśli używasz intelj, musisz przejść do ustawienia => kompilator zmień wersję na ur java bieżącą wersję
źródło
Dodaję następny kod do mojego
pom.xml
pliku, to rozwiązało mój problem.źródło
Musisz dodać tylko dwa wiersze do pliku pom.xml, a następnie twój problem zniknie.
Dodaj tę dwie linie do pom.xml -
źródło
W IntelliJ otwórz plik pom.xml
Dodaj tę sekcję wcześniej (jeśli plik ma już sekcję, po prostu dodaj poniższe linie do istniejącej sekcji):
źródło
Jedynym działającym rozwiązaniem w moim przypadku było dodanie następującego bloku do
pom.xml
:źródło