Вам нужно привязать выполнение к фазе, чтобы оно было выполнено, когда вы запустите военный пакет. Это доступные фазы , к которым вы можете привязать военную упаковку.
<plugin>
<groupId>net.sf.alchim</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<executions>
<execution>
<id>compress</id>
<phase>process-resources</phase>
...<!--rest of config is fine-->
Обновление: файлы js.gz не генерируются или просто не включены в войну?
Еще одна вещь, которую нужно проверить, если вы все еще не видите контент в войне, - это то, что ресурсы должны быть в src / main / resources , а не src / main / webapp .
Плагин yuicompressor будет обрабатывать js-файлы в src / main / webapp , но они не будут включены в финальную войну.
Обновление 2: перечитайте ваш вопрос, увидев ваш ответ, я бы неправильно понял цель, которую вы выполняли. Чтобы избежать двух целей, вы можете сделать одно из следующих:
- Попробуйте вместо запуска цели войны запустить install или package , это вызовет стандартный жизненный цикл, а плагин yuicompressor будет запущен на этапе ресурсов процесса.
- В качестве альтернативы измените фазу, с которой связана цель yuicompressor в приведенном выше примере, на пакет , чтобы он активировался при запуске войны: цель войны.