Pom dosyasının genel görünümü

Projenin yapısı, projenin kök klasöründe bulunması gereken pom.xml dosyasında açıklanmıştır. Proje dosyasının içeriği şöyle görünür:

<project>
        <!—Mevcut projenin açıklaması -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <sürüm>... </ version>


        <properties>
            <!-- Özellikler bölümü -->
        </properties>

        <depolar>
            <!-- Depolar bölümü -->
        </depolar>


        <bağımlılıklar>
            <!-- Bağımlılıklar bölümü -->
        </ bağımlılıklar>

        <build>
            <!-- Derleme bölümü -->
        </build>
</project>

pom.xml açıklamasında tüm bölümler bulunmayabilir. Bu nedenle, özellikler ve depolar bölümleri genellikle kullanılmaz. Mevcut projenin açıklama parametreleri gereklidir . Şimdi son bölüm hakkında konuşacağız.

yapı bölümü

Derleme bölümü isteğe bağlıdır - Maven onsuz bir proje oluşturabilir. Ancak, az çok karmaşık bir projenin montajını kurmak istiyorsanız, orada her şeyin nasıl çalıştığını anlamak işe yarayacaktır.

Basit bir örneğe bakalım:

  <build>
        <finalName>projectName</finalName>
        <sourceDirectory>${basedir}/src/java</sourceDirectory>
        <outputDirectory>${basedir}/targetDirectory</outputDirectory>
        <resources>
                <resource>
                <directory>${ basedir}/src/java/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                </resource>

        </resources>
        <plugins>
                . . .
        </eklentiler>
    </build>

Bu bölüm bina ile ilgili temel bilgileri içerir: Java dosyalarının bulunduğu yer, kaynak dosyaları, hangi eklentilerin kullanıldığı, inşa edilen projenin nereye yerleştirileceği.

Dört ana etiket vardır:

  • <sonAdı>
  • <kaynakDizini>
  • <çıkış dizini>
  • <kaynaklar>

Amaçlarını kısaca inceleyelim:

<finalName> etiketi , paket aşamasında oluşturulan sonuçtaki derleme dosyasının (jar, war, ear..) adını belirtir . Parametre belirtilmemişse, o zaman varsayılan değer olanArtifactId -version kullanılır .

<sourceDirectory> etiketi, kaynak dosyaların konumunu yeniden tanımlamanıza olanak tanır. Varsayılan olarak, dosyalar ${basedir}/src/main/java dizininde bulunur , ancak başka herhangi bir konum belirtebilirsiniz.

<outputDirectory> etiketi, derleyicinin derleme sonuçlarını kaydedeceği dizini belirtir - *.class dosyaları. Varsayılan değer, target/classes şeklindedir .

<resources> etiketi ve iç içe geçmiş <resource> etiketleri , kaynak dosyalarının konumunu tanımlar. Kaynak dosyaları, oluşturulurken basitçe outputDirectory dizinine kopyalanır . Kaynak dizininin varsayılan değeri src/main/resources şeklindedir .

Montaj bölümü özellikle esnek bir şekilde yapılandırılabilir. Biraz sonra daha ayrıntılı olarak bakacağız.