Guía de Maven

Clase 6 de 23Curso de Java para APIs REST 2016

Maven

Es un proyecto creado por la fundación Apache, el cual busca manejar la construcción de proyectos, reportes, documentación de forma centralizada, básicamente una manera estándar de construir proyectos, esto nos da:

  • Una definición clara de en que consiste el proyecto

  • Una manera fácil de publicar proyectos y una manera de compartir JARs a través de varios proyectos

  • Una herramienta que ahora es usada para construir y manejar cualquier proyecto en JAVA

¿Qué es POM?

Project Object Model en la unidad fundamental de trabajo en Maven, un archivo XML que contiene información del proyecto y detalles de configuración usado por Maven para construir el proyecto, en este se defines cosas cómo:

  • La descripción de un proyecto
  • Nombre, versión, tipos, localización del código y dependencias.
  • Plug-ins
  • Perfiles

Objetivos de Maven

  • Hacer fácil el proceso de construcción de un proyecto
  • Proveer la forma uniforme de construir el sistema
  • Proveer información de calidad del proyecto
  • Proveer guías de buenas practicas de desarrollo
  • Permitir la migración transparente para nuevas características

Instalación

  1. Lo primero que debemos tener instalado JDK, además de esto debemos fijar el tener JAVA_HOME como variable de entorno en Windows.

maven-1.png

maven-2.png

  1. Debemos descargar Maven (en Windows descargamos la opción Binary zip archive), descomprimimos y añadimos M2_HOME y MAVEN_HOME como variables de entorno con la ruta donde hemos colocado los archivos.

maven-3.png

maven-4.png

Además debemos asegurarnos de adjuntar la ruta de la carpeta bin de Maven en la variable path.

maven-5.png

  1. En la terminal podemos ejecutar el comando mvn -version esto debería devolvernos información de Maven.

maven-6.png

Creando nuestro primer proyecto.

  1. Primero creamos una carpeta para nuestro proyecto, en este caso mi-proyecto

  2. Desde la consola nos posicionamos dentro de esta carpeta y ejecutamos el comando mvn archetype:generate (asegúrate de tener conexión a Internet, ya que buscara una lista de arquitecturas de proyectos y plug-ins)

maven-7.png

Lo que haremos con este comando es generar la estructura para nuestro proyecto

  1. Nos arroja una lista de arquitecturas de proyectos que podemos elegir, vamos a dejar la opción por defecto (Lo más probable es que tengas un numero por defecto diferente a la imagen)

maven-8.png

  1. Seleccionamos que tipo versión de la arquitectura vamos a usar, podemos usar la versión por defecto.

maven-9.png

  1. En los siguientes pasos nos preguntara 4 datos fundamentales para nuestro proyecto,
  • groupid: identificará tu proyecto a través de todos los proyectos, vamos a usar com.proyecto 
  • artifactid: nombre de la versión jar sin versión, vamos a usar primer-proyecto 
  • version: Si planeas distribuir tu código debemos usar una versión basada en puntos (1.2, 1.3, 2.0,…) en este caso usaremos 1.0 
  • package: nombre del paquete principal de la aplicación, usaremos com.proyecto.demo

Al final confirmas estos datos y ya tenemos los archivos del proyecto.

maven-10.png

maven-11.png

Entendiendo pom.xml

En el archivo pop.xml en la raíz del proyecto vamos a encontrar los datos que hemos definido, este archivo centraliza la información del proyecto y los detalles de configuración

Al generar el anterior proyecto, tenemos un archivo con el siguiente código.

4.0.0 com.proyecto primer-proyecto 1.0 jar primer-proyecto http://maven.apache.org UTF-8 junit junit 4.12

Para añadir una dependencia lo hacemos dentro del tag

Crear archivos .jar

  1. Compilar los archivos .java a .class

Primero debemos remover todos los archivos binarios creados en anteriores builds, para esto ejecutamos el comando mvn clean

maven-12.png

Ahora compilamos nuestros código, esto convierte nuestros archivos .java a .class, ejecutamos el comando mvn compile

maven-13.png

  1. Ejecutar tests

Debemos compilar los test, para esto ejecutamos el comando mvn test-compile

maven-14.png

Ahora debemos ejecutar los test, para esto usamos el comando mvn test

maven-15.png

  1. Crear .jar

Ahora generamos el archivo .jar, para esto ejecutamos el comando mvn install

maven-16.png

maven-17.png

Build Lifecycle

Maven tiene definido un ciclo de vida para la construcción de paquetes, esta es una lista de los comandos principales o puedes encontrar la documentación en su sitio web.

  • validate
  • compile
  • test
  • package
  • integration-test
  • verify
  • install
  • deploy

IDEs

Todo el proceso que hemos realizado en esta guía desde la consola, podemos hacerlo desde cualquier IDEs, desde generar la estructura de un proyecto hasta crear el archivo .jar

Para conocer el proceso en cada IDE puedes consultar la documentación oficial del que utilices.