Ogólny widok pliku pom

Struktura projektu jest opisana w pliku pom.xml, który musi znajdować się w folderze głównym projektu. Zawartość pliku projektu wygląda następująco:

<projekt>
        <!—Opis bieżącego projektu -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- Sekcja właściwości -->
        </properties>

        <repozytoria>
            <!-- Sekcja repozytoria -->
        </repositories>


        <zależności>
            <!-- Sekcja zależności -->
        </ zależności>

        <build>
            <!-- Sekcja kompilacji -->
        </build>
</project>

Nie wszystkie sekcje mogą być obecne w opisie pom.xml. Dlatego sekcje właściwości i repozytoriów często nie są używane. Wymagane są parametry opisu bieżącego projektu . Porozmawiamy teraz o ostatniej części.

sekcja budowy

Sekcja kompilacji jest opcjonalna — Maven może zbudować projekt bez niej. Ale jeśli chcesz skonfigurować montaż mniej lub bardziej złożonego projektu, przydatne będzie zrozumienie, jak wszystko tam działa.

Spójrzmy na prosty przykład:

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

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

Ta sekcja zawiera podstawowe informacje o budowaniu: gdzie znajdują się pliki Java, pliki zasobów, jakie wtyczki są używane, gdzie umieścić zbudowany projekt.

Istnieją cztery główne tagi:

  • <końcowa nazwa>
  • <katalog źródłowy>
  • <katalog wyjściowy>
  • <zasoby>

Przeanalizujmy pokrótce ich cel:

Znacznik <finalName> określa nazwę wynikowego pliku kompilacji (jar, war, ear...), który jest tworzony w fazie pakietu . Jeśli parametr nie zostanie określony, zostanie użyta wartość domyślna artefaktId-wersja .

Znacznik <sourceDirectory> umożliwia ponowne zdefiniowanie lokalizacji plików źródłowych. Domyślnie pliki znajdują się w katalogu ${basedir}/src/main/java , ale można określić dowolną inną lokalizację.

Znacznik <outputDirectory> określa katalog, w którym kompilator zapisze wyniki kompilacji - pliki *.class . Wartość domyślna to target/classes .

Znacznik <resources> i jego zagnieżdżone znaczniki <resource> określają położenie plików zasobów. Pliki zasobów są po prostu kopiowane do katalogu outputDirectory podczas budowania plików . Domyślną wartością katalogu zasobów jest src/main/resources .

Sekcję montażową można konfigurować szczególnie elastycznie. Przyjrzymy się temu bardziej szczegółowo nieco później.