Точка выполнения между пакетом подготовки и пакетом в процессе сборки Maven
Фаза package
проекта с упаковкой war
, готовит взорванную войну в папке target
и упаковывает ее в окончательный war
файл.
Можно ли внести некоторые изменения, отредактировать файлы, удалить файлы и т.д. между этапами prepare-package
и package
? Я ищу точку расширения (Maven execution-phase
), где ресурсы уже скопированы и находятся в структуре взорванной войны.
- [maven phase] Скопируйте ресурсы и взорвется до
target/{finalName}
.
- [custom] Выполнение некоторых сложных пользовательских изменений (например, реализовано с помощью
maven-antrun
).
- [фаза maven] Поместите измененный материал в окончательный
war
.
Я думал, что это возможно между фазами prepare-package
и package
. К сожалению, после prepare-package
взорванная война не может быть изменена и упакована позже.
Можете ли вы дать мне подсказку, как этого добиться? Большое вам спасибо.
Ответы
Ответ 1
Эта конфигурация вызывает цель exploded
в фазе prepare-package
. Это дает вам возможность работать с взорванным военным каталогом в последующих определениях плагинов, например. maven-antrun
.
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>prepare-war</id>
<phase>prepare-package</phase>
<goals>
<goal>exploded</goal>
</goals>
</execution>
</executions>
</plugin>
Ответ 2
Мне кажется, что вы должны привязать задачу antrun к фазе подготовки пакета, потому что на этом этапе ресурсы уже обработаны, см. Lifecycle Reference.