7.1 Variabelen in Maven - eigenschappen
Veel voorkomende parameters Met Maven kunt u variabelen invoeren. Dit is erg handig wanneer u de parameters in verschillende delen van het pom-bestand moet matchen. U kunt bijvoorbeeld de Java-versie, bibliotheekversies en paden naar bepaalde bronnen in een variabele plaatsen.
Hiervoor is er een speciale sectie in pom.xml – <properties>
, waarin variabelen worden gedeclareerd. De algemene vorm van de variabele is als volgt:
<variable-name> _ _ _ _meaning< / variable name > _
Voorbeeld:
<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>
Variabelen zijn toegankelijk met een andere syntaxis:
$ { variable -name } _
Waar dergelijke code wordt geschreven, zal Maven de waarde van de variabele vervangen.
Voorbeeld:
<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 Voorgedefinieerde variabelen in Maven
Bij het beschrijven van een project in een pom-bestand kunt u vooraf gedefinieerde variabelen gebruiken. Ze kunnen voorwaardelijk worden onderverdeeld in verschillende groepen:
- Ingebouwde projecteigenschappen;
- Projecteigenschappen;
- Instellingen.
Er zijn slechts twee ingebouwde projecteigenschappen:
Eigendom | Beschrijving |
---|---|
${basedir} | project hoofdmap waarpom.xml |
${versie} | artefact-versie; kan worden gebruikt ${project.version} of${pom.version} |
Er kan naar projecteigenschappen worden verwezen met behulp van de prefixen «project»
of «pom»
. We hebben er vier:
Eigendom | Beschrijving |
---|---|
${project.build.directory} | «target» projectmap |
${project.build.outputDirectory} | «target» compiler-directory. Standaard«target/classes» |
${project.naam} | naam van het project |
${project.versie} | project versie |
Eigenschappen settings.xml
zijn toegankelijk met het voorvoegsel settings
. Namen kunnen van alles zijn - ze zijn ontleend aan settings.xml
. Voorbeeld:
${settings.localRepository} sets the path to the local repository.