pom-faylning umumiy ko'rinishi
Loyiha tarkibi pom.xml faylida tavsiflanadi, va u korne papkada joylashishi kerak. Loyihani tarkibi quyidagi ko'rinishga ega:
<!—Joriy loyiha tavsifi -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<packaging>...</packaging>
<version>...</version>
<properties>
<!-- Xususiyatlar bo'limi -->
</properties>
<repositories>
<!-- Repozitoriyalar bo'limi -->
</repositories>
<dependencies>
<!-- Bog'liqliklar bo'limi -->
</dependencies>
<build>
<!-- Yig'ish bo'limi -->
</build>
</project>
Har doim ham barcha bo'limlar pom.xml tavsifida mavjud bo'lmasligi mumkin. Masalan, properties va repositories bo'limlari ko'pincha ishlatilmaydi. Joriy loyiha tavsifi parametrlariga majburiy. Biz oxirgi bo'lim haqida hozir gaplashamiz.
Build bo'limi
Build bo'limi majburiy emas – Maven loyiha yig'ishni u bilan yoki usiz amalga oshira oladi. Ammo, agar loyihani bir oz murakkabroq darajada sozlamoqchi bo'lsang, qanday ishlashini tushunish foydali bo'ladi.
Keling, oddiy misolni ko'rib chiqaylik:
<finalName>projectName</finalName>
<sourceDirectory>${basedir}/src/java</sourceDirectory>
<outputDirectory>${basedir}/targetDir</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/java/resources</directory>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
<plugins>
. . .
</plugins>
</build>
Bu bo'lim yig'ish uchun asosiy ma'lumotlarni o'z ichiga oladi: Java-fayllar qaerda joylashgan, resurs fayllari, qanday plaginlar ishlatiladi, yig'ilgan loyihani qaerga qo'yish kerak.
Bu yerda to'rt asosiy teg mavjud:
- <finalName>
- <sourceDirectory>
- <outputDirectory>
- <resources>
Ularning vazifasini qisqa ko'rib chiqamiz:
<finalName> tegi, yig'ish natijasida hosil bo'ladigan fayl nomini (jar, war, ear..) ko'rsatadi, va bu package fazasida yaratiladi. Agar parametr belgilanmagan bo'lsa, odatiy qiymat sifatida artifactId-version ishlatiladi.
<sourceDirectory> tegi, dastur kodi joylashgan fayllarni joylashuvini o'zgartirishga imkon beradi. Odatiy holda, fayllar ${basedir}/src/main/java papkada joylashgan, ammo boshqa joyni ham ko'rsatish mumkin.
<outputDirectory> tegi, kompilyator natijalarini saqlash joyini ko'rsatadi – *.class fayllar. Odatiy qiymat target/classes.
<resources> tegi va u ichidagi <resource> teglar, resurs fayllari joylashgan joyni belgilaydi. Resurs fayllari yig'ish paytida outputDirectory papkaga avtomatik ravishda ko'chiriladi. Resurslar papkasining odatiy qiymati src/main/resources.
Yig'ish bo'limini juda moslashuvchan qilib sozlash mumkin. Uni batafsilroq keyinchalik ko'rib chiqamiz.
GO TO FULL VERSION