Especifique la versión de Java en Maven y las diferencias entre las propiedades del compilador y el complemento

Muhammad Zeeshan 20 junio 2023
  1. Diferencias entre las propiedades y el complemento del compilador
  2. Especificar la versión de Java en Maven
Especifique la versión de Java en Maven y las diferencias entre las propiedades del compilador y el complemento

Hoy discutiremos las diferencias entre las propiedades del compilador de Java y el complemento del compilador. También aprenderemos a especificar la versión de Java en Maven.

Diferencias entre las propiedades y el complemento del compilador

Ambos son similares, de hecho, la etiqueta <source> de maven-compiler-plugin usa la propiedad <maven.compiler.source> y <target> usa la propiedad <maven.compiler.target>.

Generalmente estamos satisfechos con el uso de propiedades, pero el complemento es más versátil ya que tiene una amplia variedad de configuraciones que podemos configurar en la naturaleza. Por ejemplo, tenemos fork, annotationProcessors, compilerArgs y algunas otras etiquetas.

En el paso de compilación, se pueden agregar parámetros específicos con la ayuda de un complemento. Por ejemplo, el complemento puede especificar el número de versión de Java JDK y bootclasspath.

Especificar la versión de Java en Maven

A lo largo de esta sección, examinaremos varias formas que podemos usar para especificar la versión de Java en los proyectos de Maven. Un maven es una herramienta utilizada durante la construcción y empaquetado de aplicaciones Java.

Necesitamos asegurarnos de que el compilador de Java esté especificado explícitamente en el archivo pom.xml de nuestro proyecto si queremos que Maven ejecute nuestras compilaciones de Java usando una versión más reciente del compilador de Java.

Hay dos formas diferentes de establecer la versión del compilador de Java en un archivo pom.xml de Maven, con Java 8 y la versión anterior. Cada una de las siguientes secciones explicará uno de estos dos enfoques para configurar la versión del compilador de Java en Maven.

1. Compilador Maven propiedades

La versión de Java de Maven se puede configurar utilizando las siguientes propiedades, que se pueden configurar. Las propiedades del compilador de Maven ofrecen el método más simple y directo para especificar la versión del compilador de Java utilizada por nuestro archivo pom.xml de Maven.

Se requieren tanto maven.compiler.source como maven.compiler.target. Estas dos propiedades deben agregarse al archivo pom.xml de la siguiente manera:

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

2. Complemento del compilador Maven

Al configurar el complemento del compilador Maven en el archivo pom.xml, agregue los elementos fuente y destino a la configuración. Utilice el siguiente código si se requiere Java 8.

<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. La opción compilerArgs en el archivo pom.xml

Aquí configuraremos la versión de Java poniendo los parámetros del compilador en la opción compilerArgs. El siguiente ejemplo ofrece el mismo resultado que los producidos anteriormente.

<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

Artículo relacionado - Java Version