7.1 Variables dans Maven - propriétés

Paramètres fréquemment rencontrés Maven vous permet de mettre en variables. Ceci est très utile lorsque vous devez faire correspondre les paramètres dans différentes parties du fichier pom. Par exemple, vous pouvez mettre la version Java, les versions de la bibliothèque, les chemins vers certaines ressources dans une variable.

Pour cela, il existe une section spéciale dans pom.xml – <properties>, dans laquelle les variables sont déclarées. La forme générale de la variable est la suivante :

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

Exemple:

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

Les variables sont accessibles à l'aide d'une syntaxe différente :

$ { variable -name } _

Lorsqu'un tel code est écrit, Maven remplacera la valeur de la variable.

Exemple:

<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 Variables prédéfinies dans Maven

Lors de la description d'un projet dans un fichier pom, vous pouvez utiliser des variables prédéfinies. Ils peuvent être conditionnellement divisés en plusieurs groupes:

  • Propriétés de projet intégrées ;
  • Propriétés du projet ;
  • Paramètres.

Il n'y a que deux propriétés de projet intégrées :

Propriété Description
${basedir} répertoire racine du projet oùpom.xml
${version} version d'artefact ; peut être utilisé ${project.version}ou${pom.version}

Les propriétés du projet peuvent être référencées à l'aide des préfixes «project»ou «pom». Nous en avons quatre :

Propriété Description
${project.build.directory} «target»répertoire du projet
${project.build.outputDirectory} «target»répertoire du compilateur. Défaut«target/classes»
${project.name} Nom du projet
${project.version} version du projet

Les propriétés settings.xmlsont accessibles à l'aide du préfixe settings. Les noms peuvent être n'importe quoi - ils sont tirés de settings.xml. Exemple:

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