Как я могу выполнить несколько плагинов Maven в пределах одной фазы и установить их соответствующий заказ на выполнение?

StackOverflow https://stackoverflow.com/questions/2509513

Вопрос

Я хотел бы разбить определенные фазы в жизненном цикле Maven на подпазы. Я хотел бы контролировать поток выполнения от одной подфазы к другой, вроде как с зависимостью от муравей.

Например, я хотел бы использовать плагин NSIS, чтобы упаковать мой проект в установщик на этапе пакета после того, как мой проект был упакован в военный файл. Я хотел бы сделать все это на этапе упаковки.

Это возможно?

Спасибо

Это было полезно?

Решение

Плагины, связанные с той же фазой должно быть выполнено в том же порядке, что и в указателе. При определенных обстоятельствах (например, если вы связываете один и тот же плагин с фазой дважды, например, плагин Antrun), это может не произойти, но это ошибка (см. MNG-2258 и связанный с этим вопрос MNG-3719).

Другие советы

У меня такая же проблема. смотреть на Как выполнить упорядоченные задачи в сборке Maven2Анкет По какой -то причине различные цели, связанные с фазой, хранятся в хэш -карте или другой неупорядоченной структуре, которая делает порядок выполнения случайным. Моим решением было распространять задачи на разные фазы, но я не думаю, что в вашем случае много существует (упаковка NSIS не является предварительным тестом интеграции). Вы могли бы сделать одно из следующих действий:

1) Попробуйте свою удачу и посмотрите, будет ли Maven подходит для вас правильный заказ (вы, вероятно, уже пробовали это)

2) Используйте автономный плагин - запустите цель за пределами жизненного цикла. Что-то вроде: MVN Package org.codehaus.mojo: nsis-maven-plugin: 1.0: компиляция.

3) Разделите их на модуль: иметь родительский помпон, содержащий два подмодуля, один - ваш военный проект, а другой для проекта NSIS.

4) Используйте пользовательский жизненный цикл, изменив тип, в вашем случае вы можете использовать «Exe». Это делается с помощью пользовательского расширения плагина (Руководство по использованию расширения)

5) Используйте JetSpeed-MVN-Maven-Plugin. Анкет Я никогда не использовал его, но это кажется актуальным для ваших потребностей.

Надеюсь, это даст вам новые идеи.

Ронен

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top