7.1 Variáveis no Maven - propriedades
Parâmetros encontrados com frequência O Maven permite que você coloque em variáveis. Isso é muito útil quando você precisa combinar os parâmetros em diferentes partes do arquivo pom. Por exemplo, você pode colocar a versão do Java, as versões da biblioteca e os caminhos para determinados recursos em uma variável.
Para isso, existe uma seção especial em pom.xml – <properties>, na qual as variáveis são declaradas. A forma geral da variável é a seguinte:
<variable-name> _ _ _ _meaning< / variable name > _
Exemplo:
<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>
As variáveis são acessadas usando uma sintaxe diferente:
$ { variable -name } _
Onde esse código for escrito, o Maven substituirá o valor da variável.
Exemplo:
<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 Variáveis predefinidas no Maven
Ao descrever um projeto em um arquivo pom, você pode usar variáveis predefinidas. Eles podem ser condicionalmente divididos em vários grupos:
- Propriedades de projeto incorporadas;
- Propriedades do projeto;
- Configurações.
Existem apenas duas propriedades internas do projeto:
| Propriedade | Descrição |
|---|---|
| ${basedir} | diretório raiz do projeto ondepom.xml |
| ${versão} | versão do artefato; pode ser usado ${project.version}ou${pom.version} |
As propriedades do projeto podem ser referenciadas usando os prefixos «project»ou «pom». Temos quatro deles:
| Propriedade | Descrição |
|---|---|
| ${project.build.directory} | «target»diretório do projeto |
| ${project.build.outputDirectory} | «target»diretório do compilador. Padrão«target/classes» |
| ${project.name} | nome do projeto |
| ${project.version} | versão do projeto |
As propriedades settings.xmlpodem ser acessadas usando o prefixo settings. Os nomes podem ser qualquer coisa - eles são tirados de settings.xml. Exemplo:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION