Allmän bild av pom-filen

Projektets struktur beskrivs i filen pom.xml, som måste finnas i projektets rotmapp. Innehållet i projektfilen ser ut så här:

<project>
        <!—Beskrivning av det aktuella projektet -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- Egenskapsavsnitt -->
        </properties>

        <repositories>
            <!-- Repositories sektion -->
        </repositories>


        <beroenden>
            <!-- Beroendesektionen -->
        </ beroenden>

        <bygga>
            <!-- Byggsektion -->
        </build>
</project>

Alla avsnitt kanske inte finns i beskrivningen av pom.xml. Så sektionerna för egenskaper och förvar används ofta inte. Beskrivningsparametrarna för det aktuella projektet krävs . Vi ska prata om det sista avsnittet nu.

bygga avsnitt

Byggsektionen är valfri - Maven kan bygga ett projekt utan den. Men om du vill sätta upp monteringen av ett mer eller mindre komplext projekt, kommer det att vara praktiskt att förstå hur allt fungerar där.

Låt oss titta på ett enkelt exempel:

  <build>
        <finalName>projektnamn</finalName>
        <sourceDirectory>${basedir}/src/java</sourceDirectory>
        <outputDirectory>${basedir}/targetDir</outputDirectory>
        <resurs>
                <resurs>
                <katalog>${ basedir}/src/java/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                </includes>
                </resource>

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

Det här avsnittet innehåller grundläggande information om att bygga: var Java-filer finns, resursfiler, vilka plugins som används, var det byggda projektet ska placeras.

Det finns fyra huvudtaggar:

  • <slutnamn>
  • <sourceDirectory>
  • <utgångskatalog>
  • <resurser>

Låt oss kort analysera deras syfte:

Taggen <finalName> anger namnet på den resulterande byggfilen (jar, war, ear..) som skapas i paketfasen . Om parametern inte anges används standardvärdet artifactId-version .

Taggen <sourceDirectory> låter dig omdefiniera platsen för källfiler. Som standard finns filerna i katalogen ${basedir}/src/main/java , men du kan ange vilken annan plats som helst.

Taggen <outputDirectory> anger katalogen där kompilatorn kommer att spara kompileringsresultaten - *.class -filer. Standardvärdet är mål/klasser .

Taggen <resources> och dess kapslade <resource> -taggar definierar platsen för resursfilerna. Resursfiler kopieras helt enkelt till outputDirectory -katalogen när du bygger . Standardvärdet för resurskatalogen är src/main/resources .

Monteringsdelen kan utformas särskilt flexibelt. Vi kommer att titta på det mer i detalj lite senare.