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:
<!—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:
<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.
GO TO FULL VERSION