7.1 Zmienne w Mavenie - właściwości
Często spotykane parametry Maven pozwala umieszczać w zmiennych. Jest to bardzo przydatne, gdy trzeba dopasować parametry w różnych częściach pliku pom. Na przykład możesz umieścić wersję Java, wersje bibliotek, ścieżki do określonych zasobów w zmiennej.
W tym celu istnieje specjalna sekcja w programie pom.xml – <properties>
, w której deklarowane są zmienne. Ogólna postać zmiennej jest następująca:
<variable-name> _ _ _ _meaning< / variable name > _
Przykład:
<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>
Dostęp do zmiennych uzyskuje się przy użyciu innej składni:
$ { variable -name } _
Tam, gdzie taki kod jest napisany, Maven zastąpi wartość zmiennej.
Przykład:
<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 Predefiniowane zmienne w Maven
Opisując projekt w pliku pom, możesz użyć predefiniowanych zmiennych. Można je warunkowo podzielić na kilka grup:
- Wbudowane właściwości projektu;
- Właściwości projektu;
- Ustawienia.
Istnieją tylko dwie wbudowane właściwości projektu:
Nieruchomość | Opis |
---|---|
${oparteir} | katalog główny projektu gdziepom.xml |
${wersja} | wersja artefaktu; można użyć ${project.version} lub${pom.version} |
Do właściwości projektu można odwoływać się za pomocą przedrostków «project»
lub «pom»
. Mamy ich cztery:
Nieruchomość | Opis |
---|---|
${projekt.katalog.kompilacji} | «target» katalog projektów |
${project.build.outputDirectory} | «target» katalog kompilatora. Domyślny«target/classes» |
${nazwa.projektu} | nazwa projektu |
${projekt.wersja} | wersja projektu |
Dostęp do właściwości settings.xml
można uzyskać za pomocą przedrostka settings
. Nazwy mogą być dowolne - są zaczerpnięte z settings.xml
. Przykład:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION