Niedawno pobrałem JDK 1.8.0.0_06, który jest dostarczany w pakiecie z NetBeans. Potem dowiedziałem się, że mój projekt JavaFx, który pracowałem w Javie 1.7, nie będzie się kompilował w Javie 1.8, więc zszedłem z mojego JDK do 1.7. Nadal nie mogę go uruchomić / skompilować. Otrzymuję ten błąd:
javac: invalid target release: 1.8
Usage: javac <options> <source files>
Naprawdę utknąłem i byłbym bardzo wdzięczny za każdą pomoc.
java
netbeans
javafx
runtime-error
Program-Me-Rev
źródło
źródło
Project -> Properties -> Sources window
i ustaw tutaj 1.7Odpowiedzi:
jeśli zamierzasz zrezygnować, zmień również źródło swojego projektu na 1.7,
i ustaw
1.7
tutajuwaga: jednak sugerowałbym ci dowiedzieć się, dlaczego to nie działa na 1.8
źródło
W przypadku IntelliJ14 może być konieczna zmiana wersji kodu bajtowego w używanym JDK (w ustawieniach globalnych):
źródło
Edytuj zmienną env,
JAVA_HOME
aby wskazywać na nowo zainstalowany JDK 1.8: kliknij prawym przyciskiem myszy Mój komputer -> Właściwości -> Zaawansowane ustawienia systemu -> Zmienne środowiskowe znajdźJAVA_HOME
na liście i ustaw jego wartość na coś takiego:C:\Program Files\Java\jdk1.8.0_31
Znajdź starą wersję i edytuj ją również w
PATH
zmiennej.Powinno być zrobione.
źródło
Jeśli ten błąd wystąpi podczas uruchamiania zadania Gradle (lub Maven), należy zmodyfikować konfigurację tego narzędzia do budowania, aby wskazywała na instalację Java JDK 1.8 następującą trasą:
Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Narzędzia kompilacji -> Gradle
Tam sprawdzasz, czy projekt Linked Gradle jest tym, nad którym pracujesz, i wybierasz Gradle JVM (przegapiłeś to podczas importowania projektu gradle do IntelliJ)
Pamiętaj, importując projekt Gradle (lub Maven), aby poprawnie ustawić docelową maszynę JVM tutaj:
źródło
Twój javac nie wskazuje na poprawną wersję java.
Sprawdź, gdzie wskazuje twój javac, używając następującego polecenia -
Jeśli nie jest wskazany na javac, z którym chcesz się skompilować, wskaż go "/ JAVA8_HOME / bin / javac" lub kiedykolwiek java, z którym chcesz kompilować.
źródło
W większości przypadków tego typu problemy występują z powodu nieprawidłowej wersji Java. Upewnij się, że zmienne PATH i JAVA_HOME wskazują na poprawną wersję.
źródło
Ustawienie Mavena:
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
źródło
Żadne z poprzednich rozwiązań nie zadziałało.
Rozwiązałem to edytując .idea / compiler.xml. Były „dodatkowe” (1) i (2) kopie złego modułu z różnymi celami. Usunąłem nieistotne wprowadzone dane i zmieniłem cele w sekcji na 1.8 i zadziałało.
źródło
W przypadku najnowszej wersji IntelliJ IDEA Ultimate z 18 grudnia 2017 r., Jeśli powyższe sugestie nie działają, spróbuj wykonać następujące czynności: Kliknij projekt prawym przyciskiem myszy i przejdź do opcji „Otwórz ustawienia modułu”. Otwórz go, a następnie zmień „Poziom języka” z menu.
źródło
Po prostu zrób to . Następnie unieważnij pamięci podręczne IntelliJ (
File -> Invalidate Caches
)źródło
Przejdź także do
build-impl.xml
i poszukaj właściwościexcludeFromCopy="${copylibs.excludes}"
i usuń tę właściwość w moim kodzie w wierszu 827, ale widziałem to w innych wierszachdla mnie brałem kod z MAC OS java 1.8 do WIN XP java 1.7
źródło
Alternatywnie sprawdziłem pom.xml i zmieniłem
<java.version>1.8</java.version>
do
<java.version>1.7</java.version>
źródło
Mam ten sam problem z netbeans, ale kompilacja mvn jest OK w oknie cmd. Dla mnie problem rozwiązany po zmianie JDK netbeans (w netbeans.conf jak poniżej),
Edycja: Wydaje się, że jest to tutaj wspomniane: błąd netbeans 236364
źródło
Otrzymałem ten sam problem w społeczności IntelliJ IDEA z Mavenem i musiałem ponownie zaimportować projekt, klikając prawym przyciskiem myszy projekt na karcie Projekt -> Maven -> Reimport
źródło
Zainstalowanie nowszej wersji IDEA Community (2018.3 zamiast 2017.x) rozwiązało mój problem z tym samym błędem, ale w wersji java: 11. Reimport nie zadziałał dla mnie. Ale warto spróbować.
źródło