Używam zaćmienia jako IDE. Kiedy klikam prawym przyciskiem myszy projekt, a następnie klikam maven zaktualizuj moją wersję java, zmieniam się na 1.5. Oto, co zrobiłem do tej pory, wykonałem wszystkie wymienione tutaj kroki
- Zmieniłem „ścieżkę budowania Java” na „domyślny jre obszaru roboczego 1.8.0_25”
- Następnie zmieniono „kompilator java” na 1.8
- Następnie zmieniono „aspekty projektu”> java> 1.8
- Zmieniono wersję java pom.xml na 1.8
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.1.3.v20140225</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugin</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>
Po tym wszystkim, kiedy kliknę na „Maven update”, moja wersja java automatycznie zmieni się na 1.5. Również w powyższych krokach pierwsza wersja dwustopniowa również zmienia się automatycznie na 1.5. Jak mogę to naprawić?
properties
Tag. Jeśli twój POM ma jużproperties
tag, po prostu dodaj tagi wewnątrz niego, powinno działać dobrze.maven-complier-plugin
aby dodać<build>
? dziękiMiałem ten sam problem, kiedy instalowałem Javę 9. Mój projekt był domyślnie ustawiony na środowisko wykonawcze J2SE-1.5. O dziwo, poziom zgodności Java 9 nie jest określany tak jak poprzednie wersje, tj. „1.8”, ale jako „9”. Musiałem więc odpowiednio podać moje właściwości i konfigurację wtyczki kompilatora Maven:
i
Wydaje się, że to rozwiązało problem.
źródło
--release <version>
opcja kompilatora, która jest preferowana w stosunku do źródła / celu. Można to skonfigurować za pomocąmaven.compiler.release
właściwości lub<release>
ustawienia we wtyczce maven-compiler. Zobacz: stackoverflow.com/questions/43102787/…Główną przyczyną tego problemu jest to, że jeśli z jakiegoś powodu Eclipse nie może rozwiązać prawidłowej wartości
maven.compiler.source
właściwości podczas generowania / aktualizowania pliku .classpath z pom, po prostu domyślnie używaorg.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5
.Jak fachowo odpowiedział @ jorge-campos , istnieje wiele sposobów ustawienia tej właściwości.
Jednak odpowiedź Jorge wydawała się nie działać dla mnie. Oto moje ustawienia:
...
Dokładnie.
${java.version}
jest nie zamierza rozwiązać w zupełnie innym () nieruchomościjavaVersion
i Eclipse zignorował własności i używane domyślne.Co prowadzi mnie z powrotem do części „ z jakiegokolwiek powodu ”, którą otworzyłem; głupota deweloperów może być jednym z tych powodów.
źródło
Dodaj te linie do pliku pom.xml, a następnie kliknij prawym przyciskiem myszy bibliotekę systemową JRE -> Właściwości -> Ustaw poprawne środowisko wykonawcze na Javę 1.8 lub wersję, którą chcesz ustawić.
źródło
Miałem ten problem. W moim przypadku tag <properties> i zagnieżdżone tagi, o których wspomina Jorge Campos, były w złym miejscu. Jeśli umieściłem je między tagami <hostversion> i <dependencies> w pliku pom.xml, to zachowanie ustało.
Można to wykryć w Eclipse, jeśli włączona jest walidacja tych plików.
źródło
Mam podobny problem na komputerze jednego z kolegów z zespołu. Używał starej wersji Eclipse, myślę, że używał Kepplera. Projekt po aktualizacji zmienia wersję JRE na 1.5.
Prosta aktualizacja Eclipse do najnowszej wersji rozwiązuje ten problem.
źródło
maven.compiler.source
właściwości, jak wspomniano w powyższej odpowiedzi, wszystko działa poprawnie. Moja wersja m2e to 1.7.1-20161104-1805.W moim przypadku (stare JBoss Developer Studio) problem polegał na tym, że środowiska JRE nie zawierały 1.8 (tylko 1.7). Kiedy zmieniłem
maven-compiler-plugin
wersję na 1.7 i wykonałem projekt aktualizacji Maven, zaktualizowałem bibliotekę systemową Eclipse JRE do 1.7.Tak więc rozwiązaniem jest pobranie nowszej wersji IDE, która zawiera wbudowane środowisko JRE w wersji 1.8 lub nowszej, albo próba zainstalowania go ręcznie (patrz https://stackoverflow.com/a/35204314 )
źródło
Pozwalam sobie zaktualizować ten temat za pomocą Java 11.
Zainstalowałem OpenJDK11 na moim komputerze i chciałem użyć go w aplikacji.
Miałem kłopoty, ponieważ Eclipse zawsze zmieniało moje JRE na JavaSE-1.5, kiedy aktualizowałem swój projekt za pomocą Maven.
Ustawiłem wszystko tak, jak powiedziałeś, ale zawsze wybierałem bezpośrednio w mojej ścieżce kompilacji Java „java-11-openjdk.x86_64” jako jedno z moich JRE Alternante. Naprawiłem swój problem wybierając w "Środowisku wykonawczym" JavaSE-10 (ale trzeba na nią dwukrotnie kliknąć, a następnie wybrać jako kompatybilny JRE swoją wersję OpenJDK11), jak pokazano na obrazku. Konfiguracja środowiska wykonawczego
Dzięki temu projekt będzie wykorzystywał Javę 11 (obrazek), ale musisz napisać 10 dla wersji java w pom.xml, a także ustawić java 10 na aspektach projektu.
źródło
Rozwiązałem problem z instalacją aktualizacji eclipse „JAVA 12” z rynku. To sprawia, że moje zaćmienie przechodzi z Keplera do Luny.
Potem mogłem ustawić 1.8 jako standardowy JDK, naprawiając problem "aktualizacji Mavena".
źródło
Zmieniłem Eclipse z keplera na neon, a następnie zaktualizowałem mój projekt za pomocą Maven -> Update Project.
źródło