2009-02-09 4 views
20

Я пытаюсь создать новый плагин для упаковки моего последнего проекта. Я пытаюсь, чтобы этот плагин зависел от плагина maven-dependency, чтобы скопировать все зависимости моих проектов.Плагин Maven, выполняющий другой плагин

Я добавил эту зависимость к pom моего плагина, но я не могу заставить его выполнить.

У меня есть эта аннотацию в моих плагинов главный Mojo:

@execute goal="org.apache.maven.plugins:maven-dependency-plugin:copy" 

Я попробовал несколько других имен для цели, как зависимость: скопировать и просто копию, но все они с конца сообщение о том, что требуемая цель не найдена в моем плагине. Что я делаю не так?

Вторым для этого является то, где я предоставляю информацию о конфигурации для плагина зависимостей?

ответ

36

Используйте Maven Mojo executor Дон Браун из атласской славы, чтобы запустить любой другой произвольный плагин.

колдовской Исполнитель предоставляет способ для выполнить другую Mojos (плагин) в Maven 2 плагина, что позволяет легко создавать Maven 2 плагин, которые состоит из других плагин.

+0

+1 это круто, никогда не слышал об этом раньше! –

+4

См. Http://stackoverflow.com/questions/4243686/how-to-programatically-invoke-a-maven-dependency-plugin/5761554#5761554 для обновленной версии Mojo Executor for Maven 3. – Gili

1

Вы пытались создать свой собственный тип упаковки? Затем вы можете определить свое собственное отображение жизненного цикла, т. Е. Привязать цели к этапам. В этом случае вы можете привязать цель зависимости зависимостей: копирование к своей фазе упаковки, и вам не нужно завертывать цель в свой собственный Mojo.

Смотрите также: How do I create a new packaging type for Maven?

Смежные вопросы