7.1 Variabelen in Maven - eigenschappen

Veel voorkomende parameters Met Maven kunt u variabelen invoeren. Dit is erg handig wanneer u de parameters in verschillende delen van het pom-bestand moet matchen. U kunt bijvoorbeeld de Java-versie, bibliotheekversies en paden naar bepaalde bronnen in een variabele plaatsen.

Hiervoor is er een speciale sectie in pom.xml – <properties>, waarin variabelen worden gedeclareerd. De algemene vorm van de variabele is als volgt:

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

Voorbeeld:

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

Variabelen zijn toegankelijk met een andere syntaxis:

$ { variable -name } _

Waar dergelijke code wordt geschreven, zal Maven de waarde van de variabele vervangen.

Voorbeeld:

<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 Voorgedefinieerde variabelen in Maven

Bij het beschrijven van een project in een pom-bestand kunt u vooraf gedefinieerde variabelen gebruiken. Ze kunnen voorwaardelijk worden onderverdeeld in verschillende groepen:

  • Ingebouwde projecteigenschappen;
  • Projecteigenschappen;
  • Instellingen.

Er zijn slechts twee ingebouwde projecteigenschappen:

Eigendom Beschrijving
${basedir} project hoofdmap waarpom.xml
${versie} artefact-versie; kan worden gebruikt ${project.version}of${pom.version}

Er kan naar projecteigenschappen worden verwezen met behulp van de prefixen «project»of «pom». We hebben er vier:

Eigendom Beschrijving
${project.build.directory} «target»projectmap
${project.build.outputDirectory} «target»compiler-directory. Standaard«target/classes»
${project.naam} naam van het project
${project.versie} project versie

Eigenschappen settings.xmlzijn toegankelijk met het voorvoegsel settings. Namen kunnen van alles zijn - ze zijn ontleend aan settings.xml. Voorbeeld:

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