2009-02-09 33 views
20

Estoy tratando de crear un nuevo plugin para empacar mi último proyecto. Estoy intentando que este complemento dependa del complemento maven-dependency-plugin para copiar todas las dependencias de mis proyectos.Plugin de Maven ejecutando otro plugin

He agregado esta dependencia al plugin's pom, pero no puedo ejecutarlo.

que tienen esta anotación en mis plugins Mojo principal:

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

He intentado algunos otros nombres para el objetivo, al igual que dependencia: copiar y simplemente copia pero todos terminan con una mensaje que dice que el objetivo requerido no se encontró en mi complemento. ¿Qué estoy haciendo mal?

Secundario a esto es donde debo proporcionar información de configuración para el complemento de dependencia?

Respuesta

36

Utilice el Maven Mojo executor por Don Brown de la fama Atlassian para ejecutar cualquier otro plugin arbitrario.

El Mojo Ejecutor proporciona una manera de a ejecutar otros Mojos (plugins) dentro de un plug-in 2 Maven, lo que le permite fácilmente crear Maven 2 plugins que son compuesto por otros plugins.

+0

1 que es fresco, nunca oído hablar de eso antes! –

+4

Consulte http://stackoverflow.com/questions/4243686/how-to-programatically-invoke-a-maven-dependency-plugin/5761554#5761554 para obtener una versión actualizada de Mojo Executor for Maven 3. – Gili

1

¿Has intentado crear tu propio tipo de embalaje? Luego puede definir su propia asignación de ciclo de vida, es decir, vincular objetivos a fases. En este caso, puede vincular la dependencia: meta de copia-dependencias a su fase de empaquetado y no tiene que ajustar el objetivo en su propio Mojo.

Consulte también: How do I create a new packaging type for Maven?