Perfiles en Maven

De Dos Ideas.
Revisión del 18:19 26 abr 2010 de 201.251.182.130 (discusión) (Descripcion basica de los perfiles de MAven)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Los perfiles permiten personalizar el compilado de un artefacto para un ambiente particular; permiten la portabilidad entre diferentes ambientes.

Los perfiles permiten configurar variables específicas para el ambiente donde se vaya a correr la aplicación. También se pueden agregar dependencias y condicionar la ejecución de etapas.

Otro beneficio es que ya se encuentra identificado y separado cuales son los valores que varían entre un ambiente y otro.

Ej.: Si el proceso de desarrollo tiene 3 estadios (desarrollo, testing y producción), se pueden definir 3 perfiles, acordes a dichos ambiente. El responsable de cada ambiente debería encargarse de modificar exclusivamente los valores para su ambiente.

Configuración de perfiles

Un perfil se puede configurar en 4 lugares distintos:

  • Por proyecto (dentro del archivo pom.xml)
  • Por usuario (%USER_HOME%/.m2/settings.xml)
  • Global a todos los usuarios de la computadora (%M2_HOME%/conf/settings.xml).
  • Archivo de perfil (profiles.xml en el mismo directorio que el archivo pom.xml)

Activación de perfiles

Un perfil se puede activar de varias formas:

  • Por linea de comando(utilizando el parámetro -P <nombre-de-perfil>
  • A través de la configuración de Maven
  • A través de las variables de entorno
  • Por parámetros en el sistema operativo.
  • Por presencia o ausencia de determinados archivos.

Explicitamente

Se puede activar un perfil de forma explicita a partir de la linea de comando, utilizando el parámetro -P

Ej: compila y empaqueta para el ambiente de producción

 mvn clean package -P production

Así como se puede activar un perfil, también se puede desactivar. Para ello se utiliza el operador !. Además se pueden activar/desactivar varios en simultáneo, separandolos con com

Ej: compila y empaqueta para el ambiente de testing, desactivando el ambiente de desarrollo

 mvn clean package -P !development,testing

A través de la configuración de Maven

Se puede activar un perfil utilizando el tag "activeProfiles". Ej.: para activar explictamente un perfil de desarrollo para todos los usuarios, agregar al archivo %M2_HOME%/conf/settings.xml

 <activeProfiles>
   <activeProfile>development</activeProfile>
 </activeProfiles>