7.1 Mga variable sa Maven - mga katangian

Ang mga madalas na nakatagpo na mga parameter ay pinapayagan ka ng Maven na ilagay sa mga variable. Ito ay lubhang kapaki-pakinabang kapag kailangan mong itugma ang mga parameter sa iba't ibang bahagi ng pom file. Halimbawa, maaari mong ilagay ang bersyon ng Java, mga bersyon ng library, mga path sa ilang partikular na mapagkukunan sa isang variable.

Para dito, mayroong isang espesyal na seksyon sa pom.xml – <properties>, kung saan ang mga variable ay ipinahayag. Ang pangkalahatang anyo ng variable ay ang mga sumusunod:

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

Halimbawa:

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

Naa-access ang mga variable gamit ang ibang syntax:

$ { variable -name } _

Kung saan nakasulat ang naturang code, papalitan ni Maven ang halaga ng variable.

Halimbawa:

<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 Paunang natukoy na mga variable sa Maven

Kapag naglalarawan ng isang proyekto sa isang pom file, maaari mong gamitin ang mga paunang natukoy na variable. Maaari silang kondisyon na nahahati sa ilang mga grupo:

  • Mga built-in na katangian ng proyekto;
  • Mga katangian ng proyekto;
  • Mga setting.

Mayroon lamang dalawang built-in na katangian ng proyekto:

Ari-arian Paglalarawan
${basedir} direktoryo ng ugat ng proyekto kung saanpom.xml
${bersyon} bersyon ng artifact; maaaring gamitin ${project.version}o${pom.version}

Maaaring i-reference ang mga katangian ng proyekto gamit ang mga prefix «project»na o «pom». Mayroon kaming apat sa kanila:

Ari-arian Paglalarawan
${project.build.directory} «target»direktoryo ng proyekto
${project.build.outputDirectory} «target»direktoryo ng compiler. Default«target/classes»
${project.name} pangalan ng proyekto
${project.version} bersyon ng proyekto

settings.xmlMaaaring ma-access ang mga katangian gamit ang prefix settings. Ang mga pangalan ay maaaring anuman - sila ay kinuha mula sa settings.xml. Halimbawa:

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