7.1 ตัวแปรใน Maven - คุณสมบัติ

พารามิเตอร์ที่พบบ่อย Maven อนุญาตให้คุณใส่ตัวแปร สิ่งนี้มีประโยชน์มากเมื่อคุณต้องการจับคู่พารามิเตอร์ในส่วนต่างๆ ของไฟล์ pom ตัวอย่างเช่น คุณสามารถใส่เวอร์ชัน Java, เวอร์ชันไลบรารี, พาธไปยังรีซอร์สบางอย่างลงในตัวแปร

สำหรับสิ่งนี้ มีส่วนพิเศษในpom.xml – <properties>ซึ่งมีการประกาศตัวแปร รูปแบบทั่วไปของตัวแปรมีดังนี้:

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

ตัวอย่าง:

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

มีการเข้าถึงตัวแปรโดยใช้ไวยากรณ์อื่น:

$ { variable -name } _

เมื่อเขียนโค้ดดังกล่าว Maven จะแทนที่ค่าของตัวแปร

ตัวอย่าง:

<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 ตัวแปรที่กำหนดไว้ล่วงหน้าใน Maven

เมื่ออธิบายโครงการในไฟล์ pom คุณสามารถใช้ตัวแปรที่กำหนดไว้ล่วงหน้าได้ สามารถแบ่งออกเป็นหลายกลุ่มตามเงื่อนไข:

  • คุณสมบัติโครงการในตัว
  • คุณสมบัติของโครงการ
  • การตั้งค่า.

คุณสมบัติโครงการในตัวมีเพียงสองรายการเท่านั้น:

คุณสมบัติ คำอธิบาย
${บาซิเดียร์} ไดเร็กทอรีรูทโปรเจ็กต์ โดยที่pom.xml
${เวอร์ชัน} เวอร์ชันสิ่งประดิษฐ์ สามารถใช้${project.version}หรือ${pom.version}

คุณสมบัติของโปรเจ็ กต์สามารถอ้างอิงได้โดยใช้ คำนำหน้า «project»หรือ «pom»เรามีสี่คน:

คุณสมบัติ คำอธิบาย
${project.build.directory} «target»ไดเรกทอรีโครงการ
${project.build.outputDirectory} «target»ไดเร็กทอรีคอมไพเลอร์ ค่าเริ่มต้น«target/classes»
${project.name} ชื่อโครงการ
${project.version} รุ่นโครงการ

คุณสมบัติsettings.xmlสามารถเข้าถึงได้โดยใช้คำนำsettingsหน้า ชื่อสามารถเป็นอะไรก็ได้ - นำมาsettings.xmlจาก ตัวอย่าง:

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