Ich habe ein Maven-Projekt importiert und es hat Java 1.5 verwendet, obwohl ich 1.6 als Eclipse-Standard konfiguriert habe Preferences->Java->Installed JREs
.
Als ich das Maven-Projekt so änderte, dass es die 1.6-JRE verwendete, blieben noch die Build-Fehler übrig, die bei der Verwendung von Java 1.5 durch das Projekt entstanden waren (ich habe diese Build-Fehler weiter oben beschrieben: Ich habe Build-Fehler mit m2eclipse, aber nicht mit maven2 in der Befehlszeile - Ist mein m2eclipse falsch konfiguriert? )
Ich werde das Projekt löschen und es erneut versuchen, aber ich möchte diesmal sicherstellen, dass Java 1.6 von Anfang an verwendet wird, um festzustellen, ob dadurch die Build-Probleme behoben werden.
Wie stelle ich sicher, dass das Projekt beim Importieren Java 1.6 verwendet?
Antworten:
Das m2eclipse-Plugin verwendet keine Eclipse-Standardeinstellungen, das m2eclipse-Plugin leitet die Einstellungen vom POM ab. Wenn Sie also möchten, dass ein Maven-Projekt so konfiguriert wird, dass beim Importieren unter Eclipse Java 1.6-Einstellungen verwendet werden, konfigurieren Sie das
maven-compiler-plugin
entsprechend, wie ich bereits vorgeschlagen habe:Wenn Ihr Projekt bereits importiert wurde, aktualisieren Sie die Projektkonfiguration ( klicken Sie mit der rechten Maustaste auf das Projekt und dann auf Maven V Update Project Configuration ).
quelle
Ich habe dies zu meiner pom.xml unterhalb der Projektbeschreibung hinzugefügt und es hat funktioniert:
quelle
<properties> <maven.compiler.source>9</maven.compiler.source> <maven.compiler.target>9</maven.compiler.target> </properties>
Ich wollte der bereits gegebenen Antwort etwas hinzufügen. Maven-Compiler-Plugin kompiliert Ihr Projekt standardmäßig mit Java 1.5, wo m2e seine Informationen erhält.
Aus diesem Grund müssen Sie das Maven-Compiler-Plugin in Ihrem Projekt explizit mit etwas anderem als 1.5 deklarieren . Ihr effektiver
pom.xml
wird implizit den im maven-compiler-plugin festgelegten Standard verwendenpom.xml
.quelle
DEFAULT_SOURCE
undDEFAULT_TARGET
, aber immer noch beide auf 1.5 gesetzt.quelle
Hier ist die Hauptursache von Java 1.5:
Referenz: Apache Mavem Compiler Plugin
Es folgen die Details:
Einfach pom.xml
Das folgende Plugin stammt aus einer erweiterten POM-Version (Effective POM).
Dies kann durch diesen Befehl über die Befehlszeile abgerufen werden.
C:\mvn help:effective-pom
Ich habe hier nur einen kleinen Ausschnitt anstelle eines ganzen Poms eingefügt.Auch hier sehen Sie nicht, wo die Java-Version definiert ist, lassen Sie uns mehr graben ...
Laden Sie das Plugin Apache Maven Compiler Plugin »3.1 herunter, das in jar verfügbar ist, und öffnen Sie es in einem beliebigen Dateikomprimierungstool wie 7-zip
Durchquere das Glas und finde es heraus
Datei im Ordner
Jetzt sehen Sie den folgenden Abschnitt in der Datei:
Schauen Sie sich den obigen Code an und finden Sie die folgenden 2 Zeilen heraus
Viel Glück.
quelle
quickstart
Artefakt erstellen .Ihre JRE wurde wahrscheinlich in der Ausführungskonfiguration definiert. Befolgen Sie diese Schritte in Eclipse, um die Build-JRE zu ändern.
1) Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Ausführen als > Konfigurationen ausführen
2) Wählen Sie im Fenster "Konfigurationen ausführen" im linken Bereich Ihre Projekterstellungskonfiguration aus. Auf der rechten Seite sehen Sie verschiedene Registerkarten: Main, JRE, Refresh, Source, ...
3) Klicken Sie auf die Registerkarte JRE. Sie sollten so etwas sehen
4) Standardmäßig wird Work Default JRE (Die JRE, die Sie standardmäßig unter Einstellungen-> Java-> Installierte JREs auswählen ) verwendet. Wenn Sie eine andere installierte JRE verwenden möchten, aktivieren Sie das Kontrollkästchen Alternative JRE und wählen Sie Ihre bevorzugte JRE aus der Dropdown-Liste aus.
quelle
Einfachste Lösung in Springboot
Ich gebe Ihnen die einfachste, wenn Sie Springboot verwenden:
Klicken Sie dann mit der rechten Maustaste auf Ihr Eclipse-Projekt: Maven> Projekt aktualisieren> Projektkonfiguration von pom.xml aktualisieren
Das sollte reichen.
quelle
Projektspezifische Einstellungen
Ein weiterer Ort, an dem dies schief gehen kann, sind die projektspezifischen Einstellungen in Eclipse.
Projekteigenschaften: Klicken Sie auf Ihr Projekt und eine der folgenden Optionen:
Klicken Sie auf "Java Compiler"
Aufgrund der Kundenanforderungen hatten wir sie aktiviert, um unsere Projekte in 1.6 zu halten. Als ein Upgrade auf 1.7 erforderlich war, hatten wir es schwer, weil wir die Java-Version überall ändern mussten:
quelle
Ein weiterer möglicher Grund, wenn Sie Tycho und Maven zum Erstellen von Bundles verwenden, ist, dass Sie
Bundle-RequiredExecutionEnvironment
in der definierten Manifestdatei (manifest.mf
) eine falsche Ausführungsumgebung ( ) haben. Beispielsweise:In meinem Fall war alles andere in Ordnung. Die Compiler-Plugins (auch normaler Maven und Tycho) wurden korrekt eingestellt, dennoch hat m2 aufgrund des Manifests eine alte Konformitätsstufe generiert. Ich dachte, ich teile die Erfahrung.
quelle
Ich stellte fest, dass mein Problem darin bestand, dass jemand die Dateien .project und .classpath festgeschrieben hatte, die Verweise auf Java1.5 als Standard-JRE enthielten.
Durch Schließen des Projekts, Entfernen der Dateien und anschließendes erneutes Importieren als Maven-Projekt konnte ich das Projekt so einstellen, dass Workspace JRE oder das entsprechende JDK verwendet werden, ohne dass es auf 1.5 zurückgesetzt wird. Vermeiden Sie es daher, die Dateien .project und .classpath in Ihren SVN einzuchecken
Hoffe das hilft anderen.
quelle
Wenn Sie sicherstellen möchten, dass neu erstellte oder importierte Projekte in Eclipse eine andere Standard-Java-Version als Java 1.5 verwenden, können Sie die Konfiguration im Maven-Compiler-Plugin ändern.
In den folgenden Zeilen:
<Quellimplementierung = "java.lang.String" Standardwert = "1.5"> $ {maven.compiler.source} </ Quelle>
< Zielimplementierung = "java.lang.String" Standardwert = "1.5"> $ {maven.compiler.target} </ target>
Ändern Sie den Standardwert auf 1,6 oder 1,8 oder was auch immer Sie möchten.
Ab sofort verwenden alle neuen Maven-Projekte die von Ihnen angegebene Java-Version.
Informationen stammen aus dem folgenden Blog-Beitrag: https://sandocean.wordpress.com/2019/03/22/directly-generating-maven-projects-in-eclipse-with-java-version-newer-than-1-5/
quelle
So ändern Sie die JDK-Version:
1- Projekt> Eigenschaften
2- Gehen Sie zu Java Build Path.
3-
Wählen Sie in Libraries JRE System ... aus und klicken Sie auf Edit. 4- Wählen Sie die entsprechende Version aus und validieren Sie
quelle