7.1 Variables en Maven - propiedades
Parámetros encontrados con frecuencia Maven le permite poner en variables. Esto es muy útil cuando necesita hacer coincidir los parámetros en diferentes partes del archivo pom. Por ejemplo, puede poner la versión de Java, las versiones de la biblioteca, las rutas a ciertos recursos en una variable.
Para esto, hay una sección especial en pom.xml – <properties>
, en la que se declaran las variables. La forma general de la variable es la siguiente:
<variable-name> _ _ _ _meaning< / variable name > _
Ejemplo:
<properties>
<junit.version>5.2</junit.version>
<project.artifactId>new-app</project.artifactId>
<maven.compiler.source>1.13</maven.compiler.source>
<maven.compiler.target>1.15</maven.compiler.target>
</properties>
Se accede a las variables usando una sintaxis diferente:
$ { variable -name } _
Cuando se escriba dicho código, Maven sustituirá el valor de la variable.
Ejemplo:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</build>
7.2 Variables predefinidas en Maven
Al describir un proyecto en un archivo pom, puede usar variables predefinidas. Se pueden dividir condicionalmente en varios grupos:
- Propiedades de proyecto incorporadas;
- propiedades del proyecto;
- Ajustes.
Solo hay dos propiedades de proyecto integradas:
Propiedad | Descripción |
---|---|
${direcciónbase} | directorio raíz del proyecto dondepom.xml |
${versión} | versión de artefacto; se puede usar ${project.version} o${pom.version} |
Se puede hacer referencia a las propiedades del proyecto utilizando los prefijos «project»
o «pom»
. Tenemos cuatro de ellos:
Propiedad | Descripción |
---|---|
${proyecto.construir.directorio} | «target» directorio de proyectos |
${proyecto.construir.directorio de salida} | «target» directorio del compilador. Por defecto«target/classes» |
${proyecto.nombre} | nombre del proyecto |
${proyecto.versión} | versión del proyecto |
settings.xml
Se puede acceder a las propiedades usando el prefijo settings
. Los nombres pueden ser cualquier cosa, se toman de settings.xml
. Ejemplo:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION