Tampilan umum file pom

Struktur proyek dijelaskan dalam file pom.xml, yang harus ditempatkan di folder akar proyek. Konten file proyek terlihat seperti ini:

<proyek>
        <!—Deskripsi proyek saat ini -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properti>
            <!-- Bagian properti -->
        </properti>

        <repositori>
            <!-- Bagian repositori -->
        </repositori>


        <ketergantungan>
            <!-- Bagian dependensi -->
        </ dependencies>

        <build>
            <!-- Build section -->
        </build>
</project>

Tidak semua bagian dapat hadir dalam deskripsi pom.xml. Jadi bagian properti dan repositori sering tidak digunakan. Parameter deskripsi dari proyek saat ini diperlukan . Kami akan berbicara tentang bagian terakhir sekarang.

bagian membangun

Bagian build bersifat opsional - Maven dapat membangun proyek tanpanya. Tetapi jika Anda ingin menyiapkan perakitan proyek yang kurang lebih kompleks, memahami cara kerja semuanya di sana akan berguna.

Mari kita lihat contoh sederhana:

  <build>
        <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>

Bagian ini berisi informasi dasar tentang membangun: di mana file Java berada, file sumber daya, plugin apa yang digunakan, di mana harus meletakkan proyek yang dibangun.

Ada empat tag utama:

  • <namaakhir>
  • <sumberDirektori>
  • <direktori keluaran>
  • <sumber daya>

Mari kita analisis secara singkat tujuan mereka:

Tag <finalName> menentukan nama file build yang dihasilkan (jar, war, ear..) yang dibuat dalam fase paket . Jika parameter tidak ditentukan, maka nilai default, artifactId-version , akan digunakan .

Tag <sourceDirectory> memungkinkan Anda menentukan ulang lokasi file sumber. Secara default, file terletak di direktori ${basedir}/src/main/java , tetapi Anda dapat menentukan lokasi lain.

Tag <outputDirectory> menentukan direktori tempat kompiler akan menyimpan hasil kompilasi - file *.class . Nilai defaultnya adalah target/classes .

Tag <resources> dan tag <resource> bersarangnya menentukan lokasi file sumber daya. File sumber daya cukup disalin ke direktori outputDirectory saat membangun . Nilai default direktori sumber daya adalah src/main/resources .

Bagian perakitan dapat dikonfigurasi dengan sangat fleksibel. Kami akan melihatnya lebih detail nanti.