Geben Sie die Java-Version in Maven und Unterschiede zwischen Compiler-Eigenschaften und Plugin an

Muhammad Zeeshan 20 Juni 2023
  1. Unterschiede zwischen Compiler-Eigenschaften und plugin
  2. Geben Sie die Java-Version in Maven an
Geben Sie die Java-Version in Maven und Unterschiede zwischen Compiler-Eigenschaften und Plugin an

Heute werden wir die Unterschiede zwischen den Java-Compiler-Eigenschaften und dem Compiler-plugin besprechen. Wir werden auch lernen, wie man die Java-Version in Maven angibt.

Unterschiede zwischen Compiler-Eigenschaften und plugin

Beide sind ähnlich, tatsächlich verwendet das Tag <source> von maven-compiler-plugin die Eigenschaft <maven.compiler.source> und <target> verwendet die Eigenschaft <maven.compiler.target>.

Wir sind im Allgemeinen damit zufrieden, properties zu verwenden, aber plugin ist vielseitiger, da es eine Vielzahl von Konfigurationen hat, die wir in freier Wildbahn einrichten können. Zum Beispiel haben wir fork, annotationProcessors, compilerArgs und einige andere Tags.

Im Kompilierungsschritt kann das Hinzufügen spezifischer Parameter mit Hilfe eines Plugins bewerkstelligt werden. Beispielsweise kann das plugin die Versionsnummer des Java JDK und den bootclasspath angeben.

Geben Sie die Java-Version in Maven an

In diesem Abschnitt werden wir verschiedene Möglichkeiten untersuchen, wie wir die Java-Version in Maven-Projekten angeben können. Ein Maven ist ein Werkzeug, das beim Erstellen und Packen von Java-Anwendungen verwendet wird.

Wir müssen sicherstellen, dass der Java-Compiler explizit in der Datei pom.xml für unser Projekt angegeben ist, wenn wir möchten, dass Maven unsere Java-Kompilierungen mit einer neueren Version des Java-Compilers ausführt.

Es gibt zwei verschiedene Möglichkeiten, die Java-Compiler-Version in einer Maven-Datei pom.xml festzulegen, mit Java 8 und der früheren Version. In den folgenden Abschnitten wird jeweils einer dieser beiden Ansätze zum Festlegen der Java-Compiler-Version in Maven erläutert.

1. Maven Compiler Eigenschaften

Die Java-Version von Maven kann über die folgenden properties eingestellt werden, die konfiguriert werden können. Die Eigenschaften des Maven-Compilers bieten die einfachste und unkomplizierteste Methode, um die Java-Compiler-Version anzugeben, die von unserer Maven-Datei pom.xml verwendet wird.

Sowohl maven.compiler.source als auch maven.compiler.target sind erforderlich. Diese beiden properties sollten wie folgt zur pom.xml-Datei hinzugefügt werden:

<properties>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
</properties>

2. Maven-Compiler plugin

Fügen Sie bei der Konfiguration des Maven-Compilers plugin in der Datei pom.xml die Elemente source und target zur Konfiguration hinzu. Verwenden Sie den folgenden Code, wenn Java 8 erforderlich ist.

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.8.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

3. Die Option compilerArgs in der Datei pom.xml

Hier konfigurieren wir die Java-Version, indem wir Compiler-Parameter in die Option compilerArgs einfügen. Das folgende Beispiel liefert das gleiche Ergebnis wie die zuvor erstellten.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.0</version>
    <configuration>
        <compilerArgs>
            <arg>-source</arg>
            <arg>1.8</arg>
            <arg>-target</arg>
            <arg>1.8</arg>
        </compilerArgs>
    </configuration>
</plugin>
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

Verwandter Artikel - Java Version