Java-Version in Maven angeben: Eigenschaften und Compiler-Plugin vergleichen
Einführung
Beim Arbeiten mit Maven die Java-Version angeben Die Version für untergeordnete Module in einem Projekt mit mehreren Modulen muss berücksichtigt werden. In diesem Artikel werden die Unterschiede zwischen dem Festlegen der Java-Version mithilfe von Java-Eigenschaften und dem Maven-Compiler-Plugin untersucht.
Java-Version mithilfe von Eigenschaften festlegen
Die Eigenschaft java.version im < Eigenschaften> Der Abschnitt pom.xml ist für die Verwendung mit Spring Boot konzipiert und legt sowohl die Quell- als auch die Ziel-Java-Version fest:
1 2 3 | <properties>
<java.version>1.8</java.version>
</properties>
|
Nach dem Login kopieren
Einstellen der Java-Version mithilfe des Compiler-Plugins
Das Maven-Compiler-Plugin bietet zwei Optionen: die Angabe von Quell- und Zielversionen oder die Verwendung des Arguments „Release“.
1 2 3 4 5 6 7 8 9 | <plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
|
Nach dem Login kopieren
Dies entspricht der Verwendung der folgenden Eigenschaften:
1 2 3 4 | <properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
|
Nach dem Login kopieren
Ab Maven 3.6 kann das Release-Argument sein Wird verwendet, um die Java-Version anzugeben:
1 2 3 | <properties>
<maven.compiler.release>9</maven.compiler.release>
</properties>
|
Nach dem Login kopieren
Unterschiede
-
Quelle und Ziel vs. Eigenschaften: Sie sind funktional gleichwertig.
-
Release: In Maven 3.8 und höher bietet es eine standardisierte Möglichkeit, alle drei Versionen (Quelle, Ziel und Bootstrap) für Java 9 und höher anzugeben.
- Spring Boot: java.version ist nur in Spring Boot-Projekten funktionsfähig.
Best Practice
Für Java 8 und niedriger:
- Verwenden Sie eine der beiden Methoden, um Quelle und Ziel anzugeben.
- Wenn nur die Quelle angegeben wird, verwendet Maven möglicherweise eine andere Zielversion basierend auf der angegebenen Quelle.
Für Java 9 und höher:
- Erwägen Sie die Verwendung des Release-Arguments, um konsistente Versionen für Quelle, Ziel und Bootstrap sicherzustellen.
Fork, ausführbare Datei und JAVA_HOME
- Wenn die JDK-Version JAVA_HOME nicht mit den angegebenen Java-Versionen kompatibel ist, geben Sie fork="true" und executable in der Compiler-Konfiguration an.
- Es wird nicht empfohlen für Die Quell- und Zielversionen überschreiten die JDK-Version, auf die JAVA_HOME verweist, da das JDK nicht mit einer neueren Spezifikation kompiliert werden kann.
Das obige ist der detaillierte Inhalt vonWie geben Sie die Java-Version in Maven für untergeordnete Module an: Eigenschaften vs. Compiler-Plugin?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!