pom-fайлiniň umumy görnüşi
Proýektiň gurluşy, taslamanyň kök katalogynda bolmaly pom.xml faýlynda düşündirilýär. Taslama faýliniň mazmuny aşakdaky görnüşde:
<!—Häzirki taslamanyň beýany -->
<groupId>...</groupId>
<artifactId>...</artifactId>
<packaging>...</packaging>
<version>...</version>
<properties>
<!-- Häsiýetler bölümi -->
</properties>
<repositories>
<!-- Ammalar bölümi -->
</repositories>
<dependencies>
<!-- Baglylyklar bölümi -->
</dependencies>
<build>
<!-- Ýygyndy bölümi -->
</build>
</project>
pom.xml beýanynda ähli bölümler bolup bilmez. Mysal üçin, properties we repositories bölümleri köplenç ulanylmaýar. Häzirki taslamanyň beýany parametrleri hökmanydyr. Biz soňky bölümiň üstünde durup geçeris.
build Bölümi
build Bölümi hökmany däl – Maven projekti build etmegi bilýär. Eger sen taslamanyň ýygyndysyny has çylşyrymly sazlamak isleseň, onda bu ýerde näme bolup geçýänini bilmek peýdaly bolar.
Gel, ýönekeý mysal görüp geçeliň:
<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 bölümde ýygyndy boýunça esasy maglumatlar ýerleşýär: Java-faýllary, resurs faýllary nirede ýerleşýär, haýsy pluginler ulanylýar, ýygnalan taslama nirä ýerleşdirilýär.
Esasy tegler dört:
- <finalName>
- <sourceDirectory>
- <outputDirectory>
- <resources>
Bu tegleriň maksadyny gysgaça gözden geçireliň:
<finalName> tegi (jar, war, ear..), package fazasynda döredilen netijede faýlyň adyny belleýär. Eger parametr kesgitsiz bolsa, onda artifactId-version ýaly özboluşlylyk ulanylýar.
<sourceDirectory> tegi, başlangyç kodyň faýllarynyň ýerleşýän ýerini üýtgetmäge mümkinçilik berýär. Adaty ýagdaýda faýllar ${basedir}/src/main/java katalogynda ýerleşýär, ýöne islendik başga bir ýeri görkezmek mümkin.
<outputDirectory> tegi, kompilýatoryň kompilýasiýanyň netijelerini - *.class faýllaryny nirede saklamalydygyny görkezýär. Adaty ýagdaýda, bu target/classes bolup kesgitlenýär.
<resources> tegi we içindäki <resource> tegleri, resurs faýllarynyň ýerleşýän ýerini belleýär. Resurs faýllary ýygyndy döwründe diňe outputDirectory katalogyna göçürilýär. Resurslaryň adaty katalogynyň deňi src/main/resources bilen.
Build bölümini aýratyn aňsatlaşdyryp sazlamak mümkin. Ony has giňişleýin birneme soňra gözden geçireris.
GO TO FULL VERSION