Perfiles en Apache Maven

Apache Maven está diseñado para crear compilaciones portátiles que se espera que funcionen en diferentes plataformas y en varios entornos de tiempo de ejecución.

 

Puede haber situaciones en las que necesite construir el mismo proyecto de manera diferente. Por ejemplo, es posible que deba crear un proyecto de manera diferente con el fin de la puesta en escena y la producción. Es posible que no desee crear un proyecto que requiera una biblioteca de Linux en Windows, etc.

 

Para abordar estas circunstancias, Apache Maven admite perfiles de compilación. Como tal, los perfiles pueden conducir fácilmente a diferentes resultados de compilación de diferentes miembros de nuestro equipo. Sin embargo, si se usan correctamente, los perfiles se pueden usar mientras se preserva la portabilidad del proyecto.

Diferentes tipos de perfiles en Apache Maven

Existen diferentes tipos de perfiles que podemos emplear en Apache Maven:

  • Por proyecto: definido en el propio POM
pom.xml
  • Por usuario: definido en la configuración de Apache Maven
%USER_HOME%/.m2/settings.xml
  • Global: definido en la configuración global de Apache Maven
${maven.home}/conf/settings.xml

Al crear diferentes perfiles para diferentes variaciones de la compilación del proyecto, puede usar el mismo archivo pom para crear diferentes compilaciones. Se debe tener cuidado para asegurarse de que esto no resulte en una compilación no portátil.

 

¿Cómo agregar un perfil de Apache Maven?

Hay dos formas de crear un perfil: en el archivo pom del proyecto o en el archivo de configuración. Es importante tener en cuenta que, si un perfil está activo desde el archivo de configuración, sus valores anularán cualquier perfil con ID equivalentes en el archivo pom.

Si está siendo interesante el tema y deseas profundizar aún más en la construcción y manejo de proyectos con Apache Maven te recomiendo mi curso:

Apache Maven: Construcción de proyectos de cero a avanzado

Aprenda a construir sus aplicaciones Java y Scala de forma sencilla y siguiendo las mejores prácticas de desarrollo.

 

Perfil en el archivo pom.xml

El perfil en el archivo pom.xml puede tener los siguientes elementos:

				
					<profile>
    <id>test</id>
    <activation>...</activation>
    <build>...</build>
    <modules>...</modules>
    <repositories>...</repositories>
    <pluginRepositories>...</pluginRepositories>
    <dependencies>...</dependencies>
    <reporting>...</reporting>
    <dependencyManagement>...</dependencyManagement>
    <distributionManagement>...</distributionManagement>
</profile>

				
			

Perfil en el archivo settings.xml

El perfil en el archivo settings.xml solo puede tener los siguientes elementos:

				
					<profile>
    <id>test</id>
    <activation>...</activation>
    <repositories>...</repositories>
    <pluginRepositories>...</pluginRepositories>
    <properties>…</properties>
</profile>

				
			

Ejemplo práctico del trabajo con perfiles

Veamos en la práctica cómo trabajar con los perfiles. Creemos primero un proyecto Maven con el comando:

				
					mvn archetype:generate -DgroupId=com.josemtech.maven -DartifactId=proyecto-con-perfiles -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
				
			

Luego agreguemos un perfil al proyecto agregando las siguientes líneas al pom del mismo:

				
					<profiles>
    <profile>
        <id>dev</id>
        <activation>
        <activeByDefault>false</activeByDefault>
        </activation>
    </profile>
</profiles>

				
			

Una vez agregadas estas líneas vamos a dirigirnos dentro de la carpeta del proyecto y vamos a ejecutar el siguiente comando para poder ver los perfiles activos:

mvn help:active-profiles

Si es la primera vez que ejecutamos el comando veremos como se descargan una serie de archivos necesarios.

Podemos observar como no tenemos perfiles activos precisamente porque la etiqueta activeByDefault está como false. Cambiemos la etiqueta a true y volvamos a ejecutar el comando.

Observemos ahora como nos muestra como activo el perfil que hemos agregado al pom que en este caso le hemos llamado dev.

¿Cómo activar los perfiles?

Los perfiles se pueden activar de varias maneras. A continuación explicaremos algunas de ellas:

  • Explícitamente: Apache Maven proporciona una opción en la línea de comandos para invocar un perfil:
mvn package –P dev 
  • A través de la configuración: se puede activar un perfil en el archivo de settings.xml configurando los perfiles que deseamos que estén activos de la siguiente manera:
<activeProfiles>
<activeProfile>dev</activeProfile>
</activeProfiles>
  • Según la configuración del sistema operativo: el siguiente perfil solo se ejecutará en Windows:
<profile>
<activation>
<os>
<family>Windows</family>
</os>
</activation>

</profile>



Entradas creadas 26

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Publicaciones relacionadas

Comienza escribiendo tu búsqueda y pulsa enter para buscar. Presiona ESC para cancelar.

Volver arriba