7.1 Variabler i Maven - egenskaber
Ofte stødte på parametre Maven giver dig mulighed for at sætte ind i variabler. Dette er meget nyttigt, når du skal matche parametrene i forskellige dele af pom-filen. For eksempel kan du sætte Java-versionen, biblioteksversioner, stier til visse ressourcer i en variabel.
Til dette er der et særligt afsnit i pom.xml – <properties>
, hvor variable er deklareret. Variablens generelle form 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>
Der tilgås variabler ved hjælp af en anden syntaks:
$ { variable -name } _
Hvor en sådan kode er skrevet, vil Maven erstatte værdien af variablen.
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 Foruddefinerede variabler i Maven
Når du beskriver et projekt i en pom-fil, kan du bruge foruddefinerede variabler. De kan betinget opdeles i flere grupper:
- Indbyggede projektegenskaber;
- Projektegenskaber;
- Indstillinger.
Der er kun to indbyggede projektejendomme:
Ejendom | Beskrivelse |
---|---|
${basedir} | projekt rodmappe hvorpom.xml |
${version} | artefakt version; kan bruges ${project.version} eller${pom.version} |
Projektegenskaber kan refereres ved hjælp af præfikserne «project»
eller «pom»
. Vi har fire af dem:
Ejendom | Beskrivelse |
---|---|
${project.build.directory} | «target» projektmappe |
${project.build.outputDirectory} | «target» compiler bibliotek. Standard«target/classes» |
${project.name} | navnet på projektet |
${project.version} | projektversion |
Egenskaber settings.xml
kan tilgås ved hjælp af præfikset settings
. Navne kan være hvad som helst - de er taget fra settings.xml
. Eksempel:
${settings.localRepository} sets the path to the local repository.