2011-07-20 8 views
5

No parece posible anular la definición del objetivo de la ejecución de un complemento.Reemplazando la definición del objetivo del complemento Maven para un ID de ejecución dado

Let decir que tengo una configuración de matriz de embarcadero, que define un

    <execution> 
         <id>start-jetty</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>run</goal> 
         </goals> 
        </execution> 

ahora quiero localmente para un proyecto específico el objetivo run-explotó

Si intento de anular la definición de los padres en proyecto local con

    <execution> 
         <id>start-jetty</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>run-exploded</goal> 
         </goals> 
        </execution> 

entonces tengo el pom efectiva se convierte en

    <execution> 
         <id>start-jetty</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>run</goal> 
          <goal>run-exploded</goal> 
         </goals> 
        </execution> 

Estoy sorprendido, ya que siempre pensé que se anularía.

¿Es este un nuevo comportamiento en Maven3?

¿Hay alguna forma de obtener un comportamiento predominante en lugar del actual?

Respuesta

10

La manera que he encontrado es deshabilitar la configuración heredada y la creación de una nueva:

    <execution> 
         <id>start-jetty</id> 
         <phase>none</phase> 
        </execution> 
        <execution> 
         <id>my-start-jetty</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>run-exploded</goal> 
         </goals> 
        </execution> 
2

Bueno, esto es herencia trabajando de la manera como se diseñó. Debería considerar eliminar su configuración de embarcadero del pom principal y ponerlo en un perfil o probar el elemento <inherited> con valor falso y ver si esto funciona para usted.

+0

bueno saber acerca heredada, pero tiene un comportamiento extraño con el plugin embarcadero y, además, que no es lo que quiero, necesito herencia . – nodje

+0

si interpreta la pregunta de forma global, se trata más bien de anular el complemento en los poms de los niños que de ejecutar el mismo Jetty. –

Cuestiones relacionadas