Что такое pom.xml (объектная модель проекта)? Образец pom.xml для использования в вашем динамическом веб-проекте (Java/J2EE)

Опубликовано: 2021-06-25
Что такое pom.xml (объектная модель проекта)? Образец pom.xml для использования в вашем динамическом веб-проекте

Что такое файл pom.xml?

POM означает Project Object Model . Это фундаментальная единица работы в Maven. Файл pom.xml содержит все настройки, зависимости, интеграцию плагинов и инструкции по настройке проекта.

Это лучший способ добавить любые зависимости библиотеки в ваш проект. Копирование файлов .jar в папку ресурсов вашего проекта — старый способ сделать это.

Давайте подробно разберем файл pom.xml.

Простейший файл pom.xml по умолчанию

Давайте рассмотрим элементы pom.xml:

Элемент Описание
проект Элемент является корнем дескриптора. В следующей таблице перечислены все возможные дочерние элементы.
модельВерсия Объявляет, какой версии дескриптора проекта соответствует этот POM. Установите его версию 4.0.0.
идентификатор группы Универсальный уникальный идентификатор проекта. Обычно используется полное имя пакета, чтобы отличить его от других проектов с таким же именем (например, org.apache.maven).
идентификатор артефакта Идентификатор для этого артефакта, который является уникальным в пределах группы, заданной идентификатором группы. Артефакт — это то, что либо создается, либо используется проектом. Примеры артефактов, созданных Maven для проекта, включают: JAR-файлы, исходные и двоичные дистрибутивы и WAR-файлы.
версия Текущая версия артефакта, созданного этим проектом.
понимать элементы pom.xml

файл pom.xml с дополнительными элементами

файл pom.xml с дополнительными элементами:

Элемент Описание
упаковка Тип артефакта, который производит этот проект, например, помпон для ушей. Плагины могут создавать свою собственную упаковку и, следовательно, свои собственные типы упаковки, поэтому этот список не содержит всех возможных типов.
имя Полное название проекта.
URL URL-адрес домашней страницы проекта.
зависимости Этот элемент описывает все зависимости, связанные с проектом. Эти зависимости используются для создания пути к классам для вашего проекта в процессе сборки. Они автоматически загружаются из репозиториев, определенных в этом проекте.
зависимость Группа проекта, создавшая зависимость, например org.apache.maven.
строить Информация, необходимая для создания проекта.
исходный каталог Этот элемент указывает каталог, содержащий исходный код проекта. Сгенерированная система сборки скомпилирует исходный код в этом каталоге при сборке проекта. Указанный путь относится к дескриптору проекта.
finalName Имя файла (исключая расширение и без информации о пути), к которому будет вызываться создаваемый артефакт. Значение по умолчанию — ${artifactId}-${версия}.
плагины Список плагинов для использования.
плагин Идентификатор группы плагина в репозитории.
объем Объем зависимости — компиляция, среда выполнения, тест, система и предоставленный. Используется для расчета различных путей к классам, используемых для компиляции, тестирования и т. д. Это также помогает определить, какие артефакты включить в дистрибутив этого проекта.

Мы опубликовали более 700 руководств по Java на Crunchify и с самого начала используем файлы pom.xml, включая зависимости Spring MVC.

За последние несколько лет из-за добавления все большего количества зависимостей библиотек файл учебника по Java pom.xml от Crunchify стал больше.

Вот наш текущий файл pom.xml для справки. Если вы скопируете и добавите его в свой проект, это тоже сработает для вас.

Файл pom.xml, который мы используем для учебных пособий по Java от Crunchify.

Я надеюсь, что это разъясняет, что такое файл pom.xml и почему мы используем его в любом проекте Java J2EE.

Позвольте мне знать, если у вас есть еще вопросы.

Обновите Log4j до последней версии

CVE-2021-44228: функции Apache Log4j2 <= 2.14.1 JNDI, используемые в конфигурации, сообщениях журнала и параметрах, не защищают от контролируемых злоумышленниками LDAP и других конечных точек, связанных с JNDI.

Начиная с log4j 2.16.0, это поведение отключено по умолчанию.