Если я упаковываю веб-приложение с maven goal war: exploded, почему не будут включены pom.xml и pom.properties? - PullRequest
3 голосов
/ 21 апреля 2010

Я довольно новичок в Maven и заметил интересную вещь в плагине Maven WAR.

Когда я упаковываю свое веб-приложение на Java с помощью war: war, создается заархивированная война. Эта война также содержит файлы pom.xml и pom.properties в каталоге META-INF. Но если я упаковываю свое приложение с war: exploded и создаю разорванный каталог war, эти два файла не будут включены.

Теперь мне любопытно, почему свойства pom.xml и pom.properties не включены в разорванную войну. Помимо этих двух файлов содержимое взорванной и заархивированной войны одинаково.

Есть ли причина, по которой плагин исключает pom.xml и pom.properties из взорвавшейся войны?

Ответы [ 2 ]

3 голосов
/ 21 апреля 2010

Есть ли причина, по которой плагин исключает pom.xml и pom.properties из взорвавшейся войны?

"Компонент", который добавляет файлы pom.properties и pom.xml в сгенерированный архив во время war:war, является Maven Archiver . Вы можете настроить его с помощью необязательного параметра archive.

Интересно, что war:exploded также имеет этот параметр, но на данный момент war:exploded не обрабатывает <archive> (см. этот комментарий MWAR-86) и взорвавшаяся война в настоящее время не в точности соответствуют финальной войне.


Но без файлов pom я не могу запустить разнесенную войну на моем местном JBoss. Так что я не могу проверить и отладить его тоже.

Файл pom, расположенный в архиве в META-INF/maven/${groupId}/${artifactId}/pom.xml, и файл pom.properties, находящийся в архиве в META-INF/maven/${groupId}/${artifactId}/pom.properties, являются необязательными «метаданными», и я не знаю ни одного плагина, полагающегося на их наличие. Так что я не понимаю, почему вы не можете вести взрывную войну на своем местном JBoss. Можете ли вы уточнить?

0 голосов
/ 21 апреля 2010

mvn war: war предназначен для создания развертываемого артефакта, которому нужна информация внутри (также pom, MANIFEST.MF) ... но war: exploded предназначена только для тестирования (развертывания в определенной папке). Взгляните на объяснение

...