7.1 Variabler i Maven - egenskaper
Ofte opptrådte parametere Maven lar deg sette inn variabler. Dette er veldig nyttig når du trenger å matche parameterne i forskjellige deler av pom-filen. For eksempel kan du sette Java-versjonen, bibliotekversjoner, stier til visse ressurser i en variabel.
For dette er det en spesiell seksjon i pom.xml – <properties>, der variabler er deklarert. Den generelle formen for variabelen er som følger:
<variable-name> _ _ _ _meaning< / variable name > _
Eksempel:
<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>
Du får tilgang til variabler ved hjelp av en annen syntaks:
$ { variable -name } _
Der slik kode er skrevet, vil Maven erstatte verdien av variabelen.
Eksempel:
<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 Forhåndsdefinerte variabler i Maven
Når du beskriver et prosjekt i en pom-fil, kan du bruke forhåndsdefinerte variabler. De kan betinget deles inn i flere grupper:
- Innebygde prosjektegenskaper;
- Prosjektegenskaper;
- Innstillinger.
Det er bare to innebygde prosjekteiendommer:
| Eiendom | Beskrivelse |
|---|---|
| ${basedir} | prosjektets rotkatalog hvorpom.xml |
| ${version} | artefakt versjon; kan brukes ${project.version}eller${pom.version} |
Prosjektegenskaper kan refereres til ved å bruke prefiksene «project»eller «pom». Vi har fire av dem:
| Eiendom | Beskrivelse |
|---|---|
| ${project.build.directory} | «target»prosjektkatalog |
| ${project.build.outputDirectory} | «target»kompilatorkatalog. Misligholde«target/classes» |
| ${project.name} | navnet på prosjektet |
| ${project.version} | prosjektversjon |
Egenskaper settings.xmlkan nås ved å bruke prefikset settings. Navn kan være hva som helst - de er hentet fra settings.xml. Eksempel:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION