Páginas

martes, 3 de febrero de 2015

Introducción a Maven (Maven I)

Maven es una de las herramientas más empleadas en la construcción de proyectos en la actualidad, sobretodo en el mundo Java. Pese a que como ya veremos su filosofía es algo distinta, vino al mundo como una "alternativa-evolución" de Ant a la hora de construir proyectos.

En todo momento me referiré a su uso aplicado en aplicaciones Java (casi siempre J2EE), lo cual no quita para indicar que Maven ha sido usado también en otros entornos fuera del mundo Java.

Sus principales ventajas frente a Ant son:

  • Simplicidad, si bien ya se ha demostrado que el XML es un lenguaje poco adaptado a "humanos" (de hecho surgen alternativas a Maven/Ant posteriormente como Gradle).
  • Gestión de dependencias: se simplifica tanto el declarar dependencias internas (de otros proyectos propios o subproyectos), como dependencias externas. En este último caso funciona como un gestor de paquetes lo que me despreocupa de donde bajarme las librerías como veremos más adelante.
  • Gran comunidad de desarrolladores de plugins por detrás: veremos que una de las ventajas de Maven es que hay muchísimos plugins desarrollados que nos permitirán desde desplegar un EAR, analizar nuestro código en Sonar, etc.
Para comenzar a usar Maven, nos descargamos la última versión de los binarios desde su web (en mi caso haré el ejemplo en entornos Windows y usaré esta URL. Para la gente de otros SO, tenéis aquí disponibles el resto de descargas.

Una vez descomprimido el zip tendréis una estructura de carpetas similar a esta:


Entramos a través de linea de comandos al directorio bin y si ejecutamos el comando:

mvn -v


Que producirá algo similar a esto:



En este caso tenéis configurado correctamente Maven, si no, uno de los posibles errores es que no os encuentre la variable JAVA_HOME del sistema, en ese caso desde el administrador del equipo, la añadís (apuntando al JDK que vayáis a usar, en mi caso jdk 1.8, disponible aquí):



También es muy interesante que añadáis la carpeta /bin al Path de vuestro sistema, para que podamos ejecutar el comando mvn dentro de cualquier proyecto a través de la línea de comandos (si bien si solo vamos a usar Maven desde Eclipse, no es necesario):



Una vez todo está todo en orden y hemos configurado el entorno correctamente, vamos a explicar la configuración por defecto de Maven (disponible en /conf/settings.xml).
En este fichero encontramos posibilidad de customizar muchos parámetros, de los cuáles destacamos:
  • Ubicación de la carpeta del repositorio
    • Es donde Maven guardará los diferentes pom y jar que son dependencias de nuestros proyectos. 
    • Por defecto en windows: %userprofile%\.m2 (Importante si en el trabajo tenemos restricciones de cuota de disco):
  • Configuración del proxy:
    • Generalmente en entornos domésticos no hace falta rellenarla, pero importante si estamos en la red del trabajo y el proxy nos capa las conexiones a la central de Maven (de donde descargamos las dependencias):



Indicaros que es normal al principio que la carpeta %userprofile%\.m2 esté vacía, si nunca habéis compilado ningún proyecto con dependencias, con el paso del tiempo, tendrá la siguiente pinta:



Hasta aquí finaliza por ahora la primera parte, que implica simplemente ponernos un poco en contexto e instalar Maven. 

Continuaremos en los siguientes tutoriales, viendo los diferentes comandos que soporta Maven, creando de cero una aplicación a través de arquetipos y viendo como se gestionan las dependencias y los repositorios.



No hay comentarios:

Publicar un comentario