Vedere generală a fișierului pom

Structura proiectului este descrisă în fișierul pom.xml, care trebuie să fie localizat în folderul rădăcină al proiectului. Conținutul fișierului de proiect arată astfel:

<proiect>
        <!—Descrierea proiectului curent -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- Properties section -->
        </properties>

        <repositories>
            <!-- Repositories section -->
        </repositories>


        <dependencies>
            <!-- Dependencies section -->
        </ dependențe>

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

Nu toate secțiunile pot fi prezente în descrierea pom.xml. Deci, secțiunile de proprietăți și depozite nu sunt adesea folosite. Sunt necesari parametrii de descriere ai proiectului curent . Vom vorbi acum despre ultima secțiune.

secțiune de construcție

Secțiunea de construire este opțională - Maven poate construi un proiect fără ea. Dar dacă doriți să puneți la punct asamblarea unui proiect mai mult sau mai puțin complex, atunci înțelegerea modului în care funcționează totul acolo va fi utilă.

Să ne uităm la un exemplu simplu:

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

Această secțiune conține informații de bază despre construirea: unde se află fișierele Java, fișierele de resurse, ce plugin-uri sunt folosite, unde să puneți proiectul construit.

Există patru etichete principale:

  • <finalName>
  • <sourceDirectory>
  • <director de ieșire>
  • <resurse>

Să analizăm pe scurt scopul lor:

Eticheta <finalName> specifică numele fișierului de compilare rezultat (jar, war, ear..) care este creat în faza pachetului . Dacă parametrul nu este specificat, atunci valoarea implicită, artefactId-version , este utilizată .

Eticheta <sourceDirectory> vă permite să redefiniți locația fișierelor sursă. În mod implicit, fișierele sunt localizate în directorul ${basedir}/src/main/java , dar puteți specifica orice altă locație.

Eticheta <outputDirectory> specifică directorul în care compilatorul va salva rezultatele compilației - fișiere *.class . Valoarea implicită este target/classes .

Eticheta <resources> și etichetele sale imbricate <resource> definesc locația fișierelor de resurse. Fișierele de resurse sunt pur și simplu copiate în directorul outputDirectory la construirea . Valoarea implicită a directorului de resurse este src/main/resources .

Secțiunea de asamblare poate fi configurată în mod deosebit de flexibil. O vom analiza mai detaliat puțin mai târziu.