7.1 Variabler i Maven - egenskaper

Ofte opptrådte parametere Maven lar deg sette inn variabler. Dette er veldig nyttig når du trenger å matche parameterne i forskjellige deler av pom-filen. For eksempel kan du sette Java-versjonen, bibliotekversjoner, stier til visse ressurser i en variabel.

For dette er det en spesiell seksjon i pom.xml – <properties>, der variabler er deklarert. Den generelle formen for variabelen 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>

Du får tilgang til variabler ved hjelp av en annen syntaks:

$ { variable -name } _

Der slik kode er skrevet, vil Maven erstatte verdien av variabelen.

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 Forhåndsdefinerte variabler i Maven

Når du beskriver et prosjekt i en pom-fil, kan du bruke forhåndsdefinerte variabler. De kan betinget deles inn i flere grupper:

  • Innebygde prosjektegenskaper;
  • Prosjektegenskaper;
  • Innstillinger.

Det er bare to innebygde prosjekteiendommer:

Eiendom Beskrivelse
${basedir} prosjektets rotkatalog hvorpom.xml
${version} artefakt versjon; kan brukes ${project.version}eller${pom.version}

Prosjektegenskaper kan refereres til ved å bruke prefiksene «project»eller «pom». Vi har fire av dem:

Eiendom Beskrivelse
${project.build.directory} «target»prosjektkatalog
${project.build.outputDirectory} «target»kompilatorkatalog. Misligholde«target/classes»
${project.name} navnet på prosjektet
${project.version} prosjektversjon

Egenskaper settings.xmlkan nås ved å bruke prefikset settings. Navn kan være hva som helst - de er hentet fra settings.xml. Eksempel:

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