7.1 Variabili in Maven - proprietà

Parametri incontrati di frequente Maven ti consente di inserire variabili. Questo è molto utile quando devi abbinare i parametri in diverse parti del file pom. Ad esempio, puoi inserire la versione Java, le versioni della libreria, i percorsi di determinate risorse in una variabile.

Per questo, c'è una sezione speciale in pom.xml – <properties>, in cui vengono dichiarate le variabili. La forma generale della variabile è la seguente:

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

Esempio:

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

Le variabili sono accessibili utilizzando una sintassi diversa:

$ { variable -name } _

Dove tale codice è scritto, Maven sostituirà il valore della variabile.

Esempio:

<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 Variabili predefinite in Maven

Quando si descrive un progetto in un file pom, è possibile utilizzare variabili predefinite. Possono essere suddivisi condizionatamente in diversi gruppi:

  • Proprietà del progetto integrate;
  • Proprietà del progetto;
  • Impostazioni.

Ci sono solo due proprietà del progetto predefinite:

Proprietà Descrizione
${basato} directory principale del progetto dovepom.xml
${versione} versione artefatto; può essere utilizzato ${project.version}o${pom.version}

È possibile fare riferimento alle proprietà del progetto utilizzando i prefissi «project»o «pom». Ne abbiamo quattro:

Proprietà Descrizione
${project.build.directory} «target»directory del progetto
${project.build.outputDirectory} «target»directory del compilatore. Predefinito«target/classes»
${nome.progetto} nome del progetto
${progetto.versione} versione del progetto

settings.xmlÈ possibile accedere alle proprietà utilizzando il prefisso settings. I nomi possono essere qualsiasi cosa: sono presi da settings.xml. Esempio:

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