Setze die Standard-jdk für Maven-Compiler-Plugin

8

Ich habe gerade Maven auf einem neuen Ubuntu-System installiert, das das Maven-Compiler-Plugin enthält. Ich habe ein Java-Projekt, das zuvor gut gebaut wurde, standardmäßig auf eine Javac-Quelle und ein Ziel von 5 (jdk 1.5). Das Projekt versucht jedoch, mit jdk1.3 auf dem neuen System zu kompilieren. Gibt es eine einfache Möglichkeit, das System für die Verwendung von & gt; = jdk5 zu konfigurieren?

Hier sind einige Konfigurationsdetails des Systems:

%Vor%

Ich habe die Datei maven-compiler-plugin-2.0.2.pom überprüft und plexus-compiler-javac.originalVersion und andere auf 1.5.3 gesetzt.

Ich weiß, dass ich dies pro Projekt festlegen kann, indem ich ein Quell- / Ziel-Tag in einen Plugin-Kontext einfüge, aber ich möchte maven-compiler standardmäßig auf jdk5 oder höher einstellen, ohne dies über einen große Anzahl von Projekten.

Wie kann ich das tun?

    
Brett 24.10.2013, 16:11
quelle

6 Antworten

1

Der Standardwert für Quelle und Ziel war 1.3 in älteren Versionen von Maven-Compiler-Plugin (wie 2.0.2-6). Verwenden Sie mindestens eine Version 3.0 des Maven-Compiler-Plugins, um das ursprüngliche Verhalten wiederherzustellen, oder konfigurieren Sie das Plug-in einfach so, dass die Quelle und das Ziel auf die richtigen Werte gesetzt werden.

    
Tome 24.10.2013, 16:21
quelle
17

Geben Sie in Ihrem Computer Folgendes an, um den Compiler auf JDK5 zu setzen:

%Vor%

d. h.

%Vor%

Ich gebe meins vor den Abhängigkeiten an, obwohl es, solange es Teil des Projektelements ist, in der Lage sein sollte, es irgendwo innerhalb des POMs zu platzieren.

Ich habe vorher ein ähnliches Problem mit Maven gehabt, das hat es für mich behoben. Im Wesentlichen setzt dies die Flags -source und -target auf den angegebenen Wert und übergibt sie an den Compiler. Neuere Plugins sind standardmäßig auf 1.5 eingestellt.

Um die Standardmethode ohne zu verwenden, die die Eigenschaften angibt, müssen Sie eine neuere Version von Maven ausführen.

Ich nehme an, Sie könnten auch eine Vorlage über Ihre IDE erstellen, um diese in alle neuen Pom-Dateien einzufügen. Natürlich hängt die tatsächliche Implementierung von Ihrer IDE ab ...

Siehe Die Apache Maven Compiler-Plugin-Dokumentation sowie Festlegen der Quellen- und Compilerbeispiele für weitere Details.

    
Robert H 24.10.2013 17:45
quelle
2

Ich habe versucht, das Maven-Compiler-Plugin Ansatz und es erwies sich als umständlich wie Plugins wie maven-surefire-plugin und maven-cobertura-plugin die immer noch aufgrund von Inkompatibilitätsproblemen fehlschlagen.

Der bessere Ansatz war, maven-toolchain-plugin zu verwenden.

>

Schritt 1 Erstellen Sie /. M2 / toolchains.xml

%Vor%

Schritt 2 Fügen Sie maven-toolchain-plugin zum plugins Abschnitt in Ihrem Projekt pom.xml hinzu.

* Wenn Sie maven 3 verwenden, stellen Sie sicher, dass dies auch in pluginManagement übernommen wird.

%Vor%

Voila all Ihre anderen Plugins greifen das richtige JDK auf. Ich hoffe es hilft. Ich habe heute fast einen halben Tag mit genau diesem Thema verbracht.

    
chinto 20.01.2015 05:40
quelle
1

Ich habe folgende Einstellungen verwendet, um Maven Default Java Compiler Version zu setzen.

Ändern Sie zuerst maven settings.xml:

%Vor%

Zweitens, stellen Sie in den Eclipse-Einstellungen den Java-Home-Point auf jdk home

    
frank 19.02.2017 03:47
quelle
0

Vorschlag: Verwenden Sie das neueste Maven-Compiler-Plugin.

Um die Standardeinstellungen zu ändern, sollten Sie Quelle und Ziel festlegen.

%Vor%

Weitere Informationen: maven-compiler-plugin

    
Reji 24.10.2013 16:26
quelle
0

Die einfachste Lösung für solche Dinge ist die Verwendung einer aktuellen Version von Maven (3.1.1) und insbesondere die Erstellung einer übergeordneten pom.xml-Datei für all Ihre Projekte, in der Sie die Konfiguration und Version Ihrer Maven-Datei definieren. Compiler-Plugin über PluginManagement oder besser alle deine Plugins.

    
khmarbaise 24.10.2013 17:28
quelle

Tags und Links