2011-08-25 22 views
5

Tengo diferentes archivos log4j.xml y de propiedad que se van a utilizar en Dev y producción. Estoy usando maven para construcción y empaque. ¿Hay alguna manera de que pueda dejar que maven elija dev o prod mediante una propiedad Maven configurable en POM o pasando una variable de tiempo de ejecución?Archivo de configuración diferente para dev y prod utilizando Maven

Gracias, Abi

Respuesta

6

La idea basada en perfiles en Maven no es la mejor, porque eso te obligaría a ejecutar tu construcción un par de veces, lo que significa que si tienes dos entornos tienes que ejecutar tu construcción dos veces si tienes más simplemente pensar esta. La mejor solución es trabajar con el Maven-Assembly-Plugin para crear un conjunto de artefactos para los diferentes entornos en un solo paso que será distinto para el clasificador. He hecho un ejemplo completo here.

2

Sí, utilizan Maven profiles.

Los perfiles se especifican utilizando un subconjunto de los elementos disponibles en el propio POM (más una sección adicional), y se activan de muchas maneras. Modifican el POM en tiempo de compilación, y están destinados a ser utilizados en conjuntos complementarios para dar parámetros equivalentes pero diferentes para un conjunto de entornos de destino (proporcionando, por ejemplo, la ruta del servidor de aplicaciones raíz en el desarrollo, prueba y entornos de producción).

2

Como alternativa a profiles, lo que le permite elegir ya sea "dev" o "prod" durante su construcción, es posible considerar el uso de la maven-assembly-plugin por lo que se puede construir tanto "dev" y "prod" ensambles cada vez que construyes

Cuestiones relacionadas