Хотя я нахожу это требование странным (сервер приложений должен распаковывать вашу войну, а не вы), я полагаю, что это возможно, запустив каталог в target
, который используется для создания войны.
Перед этапом упаковки все файлы для войны собраны в каталоге чуть ниже цели (я забыл имя, но это должно быть легко для обратного инжиниринга) - просто упакуйте этот каталог, используя плагин сборки.
Редактирование ОП:
Я хотел принять этот ответ, но также хотел, чтобы он был полезен для кого-то другого, поэтому я добавил рабочее решение (assembly.xml
файл). Вот оно:
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0
http://maven.apache.org/xsd/assembly-2.0.0.xsd">
<id>docker</id>
<formats>
<format>tar.gz</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>target/${project.build.finalName}</directory>
<outputDirectory>.</outputDirectory>
</fileSet>
</fileSets>
</assembly>
Это решение генерирует файл target/mywebapp-1.0.0-docker.tar.gz
в дополнение к типичному военному файлу.
Обратите внимание, что добавлен классификатор docker
.