Общ изглед на pom file

Структурата на проекта е описана във file pom.xml, който трябва да се намира в основната папка на проекта. Съдържанието на file на проекта изглежда така:

<project>
        <!—Описание на текущия проект -->
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <packaging>...</packaging>
        <version>... </ version>


        <properties>
            <!-- Секция за свойства -->
        </properties>

        <repositories>
            <!-- Секция за хранorща -->
        </repositories>


        <dependencies>
            <!-- Секция за зависимости -->
        </ dependencies>

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

Не всички секции може да присъстват в описанието на pom.xml. Така че секциите за свойства и хранorща често не се използват. Необходими са описателни параметри на текущия проект . Сега ще говорим за последния раздел.

раздел за изграждане

Разделът за изграждане не е задължителен - Maven може да изгради проект без него. Но ако искате да настроите сглобяването на повече or по-малко сложен проект, тогава разбирането How работи всичко там ще ви бъде полезно.

Нека да разгледаме един прост пример:

  <build>
        <finalName>име на проекта</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>

Този раздел съдържа основна информация за изграждането: къде се намират Java файловете, ресурсните файлове, Howви добавки се използват, къде да поставите изградения проект.

Има четири основни етикета:

  • <крайно име>
  • <sourceDirectory>
  • <изходна директория>
  • <ресурси>

Нека анализираме накратко тяхното преднаmeaning:

Тагът <finalName> указва името на получения файл за компилация (jar, war, ear..), който се създава във фазата на пакета . Ако параметърът не е указан, тогава се използва стойността по подразбиране, artifactId-version .

Тагът <sourceDirectory> ви позволява да предефинирате местоположението на изходните файлове. По подразбиране файловете се намират в директорията ${basedir}/src/main/java , но можете да посочите всяко друго местоположение.

Тагът <outputDirectory> указва директорията, в която компилаторът ще записва резултатите от компилацията - *.class файлове. Стойността по подразбиране е target/classes .

Тагът <resources> и неговите вложени тагове <resource> определят местоположението на файловете с ресурси. Файловете с ресурси просто се копират в директорията outputDirectory при изграждане . Стойността по подразбиране на директорията с ресурси е src/main/resources .

Монтажната секция може да бъде конфигурирана особено гъвкаво. Ще го разгледаме по-подробно малко по-късно.