7.1 O'zgaruvchilar Maven – properties
Maven'da tez-tez uchraydigan parametrlarni o'zgaruvchilarga chiqarib olish mumkin. Bu juda foydali, agar pom-faylning turli qismlarida parametrlar bir xilda bo'lishi kerak bo'lsa. Masalan, o'zgaruvchiga Java versiyasini, kutubxonaning versiyalarini, ma'lum resurslarga yo'llarni chiqarib olish mumkin.
Buning uchun pom.xml – <properties> bo'limi mavjud, bunda o'zgaruvchilar e'lon qilinadi. O'zgaruvchi umumiy ko'rinishda bunday:
<o'zgaruvchi-nomi>qiymat</o'zgaruvchi-nomi>
Misol:
<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>
O'zgaruvchilarga murojaat qilish uchun boshqa sintaksis qo'llaniladi:
${o'zgaruvchi-nomi}
Bunday kod yozilgan joyda Maven o'zgaruvchining qiymatini qo'yadi.
Misol:
<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'da oldindan belgilangan o'zgaruvchilar
Pom-faylda loyiha tavsifida oldindan belgilangan o'zgaruvchilarni ishlatish mumkin. Ularni shartli ravishda bir nechta guruhlarga ajratish mumkin:
- Loyihaning kiritilgan xususiyatlari;
- Loyiha xususiyatlari;
- Sozlamalar.
Loyihaning kiritilgan xususiyatlari uchta:
| Xususiyat | Tavsif |
|---|---|
| ${basedir} | Loyihani asosiy katalogi, pom.xml joylashgan joy |
| ${version} | Artefakt versiyasi; ishlatish mumkin ${project.version} yoki ${pom.version} |
Loyiha xususiyatlariga «project» yoki «pom» prefikslari yordamida murojaat qilish mumkin. Bizda to'rt xil:
| Xususiyat | Tavsif |
|---|---|
| ${project.build.directory} | «target» loyiha katalogi |
| ${project.build.outputDirectory} | «target» kompilyator katalogi. Standard bo'yicha «target/classes» |
| ${project.name} | Loyihaning nomi |
| ${project.version} | Loyihaning versiyasi |
settings.xml xususiyatlariga kirish settings prefiksi yordamida amalga oshiriladi. Ismlar istalgan bo'lishi mumkin – settings.xml dan olinadi. Misol:
${settings.localRepository} mahalliy repozitoriyaga yo'lni belgilaydi.
GO TO FULL VERSION