7.1 Variabler i Maven - egenskaper

Vanligt förekommande parametrar Maven låter dig lägga in variabler. Detta är mycket användbart när du behöver matcha parametrarna i olika delar av pom-filen. Till exempel kan du lägga Java-versionen, biblioteksversioner, sökvägar till vissa resurser i en variabel.

För detta finns det ett särskilt avsnitt i , pom.xml – <properties>där variabler deklareras. Variabelns allmänna form är följande:

<variable-name> _ _ _ _meaning< / variable name > _

Exempel:

<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>

Variabler nås med en annan syntax:

$ { variable -name } _

Där sådan kod skrivs kommer Maven att ersätta variabelns värde.

Exempel:

<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 Fördefinierade variabler i Maven

När du beskriver ett projekt i en pom-fil kan du använda fördefinierade variabler. De kan villkorligt delas in i flera grupper:

  • Inbyggda projektegenskaper;
  • Projektegenskaper;
  • Inställningar.

Det finns bara två inbyggda projektfastigheter:

Fast egendom Beskrivning
${basedir} projektets rotkatalog varpom.xml
${version} artefaktversion; kan användas ${project.version}eller${pom.version}

Projektegenskaper kan refereras med prefixet «project»eller «pom». Vi har fyra av dem:

Fast egendom Beskrivning
${project.build.directory} «target»projektkatalog
${project.build.outputDirectory} «target»kompilatorkatalog. Standard«target/classes»
${project.name} projektets namn
${project.version} projektversion

Egenskaper settings.xmlkan nås med prefixet settings. Namn kan vara vad som helst - de är hämtade från settings.xml. Exempel:

${settings.localRepository} sets the path to the local repository.