7.1 Variablen in Maven – Eigenschaften
Häufig vorkommende Parameter Mit Maven können Sie sie in Variablen einfügen. Dies ist sehr nützlich, wenn Sie die Parameter in verschiedenen Teilen der POM-Datei anpassen müssen. Sie können beispielsweise die Java-Version, Bibliotheksversionen und Pfade zu bestimmten Ressourcen in eine Variable einfügen.
Hierfür gibt es einen speziellen Abschnitt in pom.xml – <properties>
, in dem Variablen deklariert werden. Die allgemeine Form der Variablen ist wie folgt:
<Variablenname> _ _ _ _Bedeutung< / Variablenname > _ _
Beispiel:
<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>
Der Zugriff auf Variablen erfolgt mit einer anderen Syntax:
$ { Variablenname } _ _
Wenn ein solcher Code geschrieben wird, ersetzt Maven den Wert der Variablen.
Beispiel:
<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 Vordefinierte Variablen in Maven
Wenn Sie ein Projekt in einer POM-Datei beschreiben, können Sie vordefinierte Variablen verwenden. Sie können bedingt in mehrere Gruppen eingeteilt werden:
- Integrierte Projekteigenschaften;
- Projekteigenschaften;
- Einstellungen.
Es gibt nur zwei integrierte Projekteigenschaften:
Eigentum | Beschreibung |
---|---|
${basedir} | Projektstammverzeichnis wopom.xml |
${Version} | Artefaktversion; kann verwendet werden ${project.version} bzw${pom.version} |
Auf Projekteigenschaften kann mit den Präfixen «project»
oder verwiesen werden «pom»
. Wir haben vier davon:
Eigentum | Beschreibung |
---|---|
${project.build.directory} | «target» Projektverzeichnis |
${project.build.outputDirectory} | «target» Compiler-Verzeichnis. Default«target/classes» |
${project.name} | Name des Projekts |
${project.version} | Projektversion |
Auf Eigenschaften settings.xml
kann über das Präfix zugegriffen werden settings
. Namen können alles sein – sie stammen aus settings.xml
. Beispiel:
${settings.localRepository} legt den Pfad zum lokalen Repository fest.
GO TO FULL VERSION