2009-02-09 13 views
20

Sto provando a creare un nuovo plug-in per impacchettare il mio ultimo progetto. Sto provando a far dipendere questo plugin dal plugin maven-dependency per copiare tutte le dipendenze dei miei progetti.Plugin Maven che esegue un altro plug-in

Ho aggiunto questa dipendenza al pom del mio plugin, ma non riesco a farlo funzionare.

ho questa annotazione nei miei plugin Mojo principale:

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

Ho provato un paio di altri nomi per l'obiettivo, come dipendenza: copiare e proprio copia ma tutti con un fine messaggio che dice che l'obiettivo richiesto non è stato trovato nel mio plugin. Che cosa sto facendo di sbagliato?

Secondario a questo è dove fornire le informazioni di configurazione per il plugin di dipendenza?

risposta

36

Utilizzare il Maven Mojo executor da Don Brown di fama Atlassian per eseguire qualsiasi altro plug-in arbitrario.

Il Mojo esecutore fornisce un modo per per eseguire altri Mojos (plugin) all'interno di un plug-in 2 Maven, consentendo facilmente creare Maven 2 plugin che sono composto da altri plugin.

+0

+1 che è cool, mai sentito parlare di prima! –

+4

Vedere http://stackoverflow.com/questions/4243686/how-to-programatically-invoke-a-maven-dependency-plugin/5761554#5761554 per una versione aggiornata di Mojo Executor per Maven 3. – Gili

1

Hai provato a creare il tuo tipo di imballaggio? Quindi è possibile definire la propria mappatura del ciclo di vita, ovvero associare gli obiettivi alle fasi. In questo caso è possibile associare l'obiettivo di dipendenza: copia-dipendenze alla fase di pacchettizzazione e non è necessario avvolgere l'obiettivo nel proprio Mojo.

Consulta anche: How do I create a new packaging type for Maven?