Einstellen der Java-Version in Maven

1. Übersicht

In diesem kurzen Tutorial zeigen wir Ihnen, wie Sie die Java-Version in Maven einstellen .

Bevor wir fortfahren, können wir die Standard-JDK-Version von Maven überprüfen . Wenn Sie den Befehl mvn -v ausführen, wird die Java-Version angezeigt, in der Maven ausgeführt wird.

2. Verwenden Sie das Compiler Plugin

Wir können die gewünschte Java-Version im Compiler-Plugin angeben.

2.1. Compiler Plugin

Die erste Option ist das Festlegen der Version in den Eigenschaften des Compiler-Plugins:

 1.8 1.8 

Der Maven-Compiler akzeptiert diesen Befehl mit - Ziel- und - Quellversionen . Wenn wir die Java 8-Sprachfunktionen verwenden möchten, sollte die Quelle auf 1.8 gesetzt werden .

Damit die kompilierten Klassen mit JVM 1.8 kompatibel sind, sollte der Zielwert - 1,8 sein .

Der Standardwert für beide ist die Version 1.6.

Alternativ können wir das Compiler-Plugin direkt konfigurieren:

  maven-compiler-plugin  1.8 1.8   

Das Maven-Compiler-Plugin verfügt außerdem über zusätzliche Konfigurationseigenschaften, die es uns ermöglichen, den Kompilierungsprozess über die Versionen -source und -target hinaus besser zu steuern .

2.2 Java 9 und höher

Weiterhin von JDK 9 Version starten, können wir eine neue verwenden -release Befehlszeilenoption . Dieses neue Argument konfiguriert den Compiler automatisch so, dass Klassendateien erstellt werden, die mit der Implementierung der angegebenen Plattformversion verknüpft sind.

Standardmäßig garantieren die Optionen -source und -target keine Kreuzkompilierung .

Dies bedeutet, dass wir unsere Anwendung nicht auf älteren Versionen der Plattform ausführen können. Um die Programme für ältere Java-Versionen zu kompilieren und auszuführen, müssen Sie außerdem die Option -bootclasspath angeben .

Für eine korrekte Kreuzkompilierung ersetzt die neue Option -release drei Flags: -source, -target und -bootclasspath .

Nach der Transformation unserer Beispiele können wir für die Plugin-Eigenschaften Folgendes deklarieren:

 7 

Und für das Maven-Compiler-Plugin ab Version 3.6 können wir schreiben:

 org.apache.maven.plugins maven-compiler-plugin 3.8.0  7  

Wie wir bemerken, können wir die Java-Version in einer neuen hinzufügenAttribut . In diesem Beispiel kompilieren wir unsere Anwendung für Java 7.

Darüber hinaus benötigen wir kein JDK 7 auf unserer Maschine. Java 9 enthält bereits alle Informationen zum Verknüpfen der neuen Sprachfunktionen mit JDK 7.

3. Spring Boot-Spezifikation

Spring Boot-Anwendungen geben die JDK-Version in den Eigenschaften- Tags in der Datei pom.xml an .

Zuerst müssen wir unserem Projekt Spring-Boot-Starter-Parent als Parent hinzufügen :

 org.springframework.boot spring-boot-starter-parent 

Mit diesem übergeordneten POM können wir Standard-Plugins und mehrere Eigenschaften einschließlich der Java-Version konfigurieren: Standardmäßig ist die Java-Version 1.8 .

Wir können jedoch die Standardversion des übergeordneten Elements überschreiben, indem wir die Eigenschaft java.version angeben :

 1.9 

Durch Festlegen der Eigenschaft java.version erklären wir, dass sowohl die Quell- als auch die Ziel-Java-Version gleich 1.9 sind .

Vor allem sollten wir bedenken, dass diese Eigenschaft eine Spring Boot-Spezifikation ist. Darüber hinaus aus dem Frühjahr - Boot - Start 2.0 ist Java 8 die Mindestversion.

Dies bedeutet, dass wir Spring Boot für die älteren JDK-Versionen nicht verwenden oder konfigurieren können.

4. Fazit

Dieses kurze Tutorial zeigt die möglichen Möglichkeiten zum Festlegen der Java-Version in unserem Maven-Projekt.

In Summe:

  • Verwenden von ist nur mit der Spring Boot-Anwendung möglich
  • In einfachen Fällen sollten die Eigenschaften maven.compiler.source und maven.compiler.target am besten passen
  • Um mehr Kontrolle über den Kompilierungsprozess zu haben, verwenden Sie die Konfigurationseinstellungen des Maven-Compiler-Plugins