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.