2012-06-12 18 views
5

¿Hay alguna forma de realizar la ejecución condicional de un fragmento en pom.xml? mi requisito es copiar un archivo/directorio para desplegar estructura basada en la variable definida en pom.xml ...Maven - Cómo realizar la ejecución condicional

por ejemplo:

<if> 
    < equals arg1="package" arg2="package"/> 
     < then> 
       .... 
      < /then> 
    < /if> 

No sabe cómo puedo lograr esto!

Cualquier puntero sería muy apreciado.

Gracias, SR

Respuesta

4

Probablemente usted tendrá que utilizar Maven AntRun Plugin para eso.

En general, no hay expresiones condicionales en POM. Lo único similar de alguna manera a esto es build profiles que se puede activar en algunas condiciones específicas, sin embargo, probablemente no se ajusten a su caso actual.

Y, al final, mi sugerencia aquí. No sabemos exactamente de qué se trata su caso y ni siquiera tenemos ningún fragmento de código real, sin embargo, desde mi experiencia, es realmente inusual tener que usar ese tipo de cosas en Maven. Para mí, huele a problemas con la comprensión de Maven, la estructura del proyecto o cosas por el estilo. Puedo estar equivocado y tal vez su caso realmente lo necesite, pero considere otras opciones para que se ajusten al enfoque y las convenciones predeterminadas de Maven.

+0

Gracias Michal. probará los perfiles ... Ok, este es el caso que estoy tratando de realizar. He definido complementos para jspc, cobertura y findbugs con mi proyecto. cada vez que ejecuto compila todos estos complementos ejecutados; Lo que hice fue definir una variable llamada phase en pom.xml (posibles valores null/package) ... cuando este valor se establece en null ... estos complementos no se ejecutan. En este caso, quiero modificar mi war-plugin para omitir la lógica de copia (informes copiar lógica). – user1450759

+0

OK, parece que los perfiles funcionarían aquí. –

+0

Es por eso que Gradle es mucho mejor: tiene este problema exacto. – JamesC

Cuestiones relacionadas