PDF de programación - Tutorial Introducción a Maven 3 Erick Camacho

<<>>
Imágen de pdf Tutorial Introducción a Maven 3 Erick Camacho

Tutorial Introducción a Maven 3 Erick Camachográfica de visualizaciones

Publicado el 15 de Enero del 2017
1.550 visualizaciones desde el 15 de Enero del 2017
1,3 MB
39 paginas
Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 1

javaHispano.

Tutorial Introducción a Maven 3

Por Erick Camacho <@ecamacho> <ecamacho at javahispano.org>

Contenido

Introducción
¿Qué es Maven?
Requisitos.
Instalación de Maven 3.
Nuestra aplicación
Creación del proyecto de tipo POM
Compilación de un proyecto Maven
El ciclo de vida de los proyectos maven
Creación de proyecto de tipo Jar
1. Definir que se usará java 5 para compilar.
2. Agregar una dependencia.
3. Importar el proyecto en Eclipse.
Creación de proyecto de tipo War
Dependencias Transitivas.
Ejecución de una aplicación web
Mejorando tu aplicación - técnicas avanzadas
Centralizando configuración en el pom padre.
Uso de rangos para control de versiones
Versiones Snapshot
Añadir otros repositorios.
Conclusión

2
2
2
2
4
4
8
9
10
13
14
16
21
25
27
31
31
34
35
37
39

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 2

Introducción

Este tutorial sirve como un quickstart para el uso de Maven 2 y Maven 3. El objetivo central es
que al finalizarlo seas capaz de crear una aplicación web con Java usando esta herramienta y
entiendas los conceptos básicos utilizados por ella.

¿Qué es Maven?

Maven es una herramienta open source para administrar proyectos de software. Por
administrar, nos referimos a gestionar el ciclo de vida desde la creación de un proyecto en un
lenguaje dado, hasta la generación de un binario que pueda distribuirse con el proyecto.

Maven nació dentro de la fundación Apache para complementar a Ant, la herramienta de
compilación más usada en el mundo Java. Si no la conoces, piensa en Make para C. Esto es,
Ant permite crear scripts (usando XML) que indican cómo compilar un proyecto Java y generar
un binario.

Maven complementa esta tarea brindándonos una estructura consistente de proyectos (todos
los proyectos Maven tienen por default los mismos directorios) y herramientas necesarias
actualmente para la complejidad de los proyectos de software: gestión avanzada de
dependencias, informes sobre testing automáticos y extensibilidad vía plugins.

Por detrás, Maven sigue confiando en Ant para manejar la compilación e incluso puedes usar
las tareas de Ant dentro de Maven. Así que no es en sí un sustituto de esta herramienta, sino
un complemento.

Requisitos.

Antes de iniciar este tutorial deberás tener instalado:





JDK de Java versión 5 ó superior.

Eclipse Galileo o superior

Instalación de Maven 3.

Vamos a comenzar, lo primero que tienes que hacer es instalarte la herramienta. Para ello
basta con que cumplas los siguientes pasos:

Descarga del sitio de Maven (http://maven.apache.org/download.html) la última versión, a la
hora de escribir este documento, es la 3.0. Maven se distribuye en un archivo (zip o tar.gz) que
contiene la distribución binaria. Descomprime este archivo en cualquier ubicación de tu disco
duro local. Para este tutorial, lo haré en /Users/erick/javahispano/tutorial_maven.

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 3

Maven se ejecuta con el comando mvn (mvn.bat o mvn.sh) que se encuentra dentro de la
carpeta bin de la carpeta que descomprimiste. Para poder usarlo, debes de configurar ciertas
variables de ambiente

JAVA_HOME. Debe contener el path a tu instalación del JDK. En Windows, normalmente es en
C:\Archivos de Programa\Java\jdk1.X. En Ubuntu es en /usr/lib/jvm/java-6-sun y en MacOSX
en $(/usr/libexec/java_home).

PATH. Agrega al path la ruta al directorio bin que se encuentra donde descomprimiste Maven.
Por ejemplo en mi caso es /Users/erick/javahispano/apache-maven-3.0/bin

Abre una nueva consola de comandos y ejecuta el comando

mvn -version

Si configuraste las variables de ambiente correctamente, deberás ver la información de la
versión de maven.



Nuestra aplicación

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 4

Ya está todo listo para empezar a usar Maven. Maven promueve la modularización de los
proyectos. Típicamente, en lugar de tener un proyecto monolítico, tendremos un módulo padre
y varios módulos hijos.

En nuestro caso, crearemos una aplicación web. La estructura de nuestro proyecto será:

Proyecto POM

tutorial_maven

tutorial_maven_jar

tutorial_maven_webapp

Proyecto Jar

Proyecto WAR



En esta gráfica, estoy usando notación UML para denotar las relaciones . En otras palabras,
crearemos un proyecto de tipo POM (ya hablaremos sobre qué son estos proyectos) y dos
proyectos hijos: tutorial_maven_jar que es un proyecto de tipo Jar (el binario que genera es un
archivo jar) y un proyecto de tipo War (el binario que genera es un .war) que tiene como
dependencia al jar.

Creación del proyecto de tipo POM

POM son las siglas de "Project Object Model" (Modelo de Objetos de Proyecto), ya hemos
dicho que Maven es una herramienta de administración de proyectos. Un POM no es más que la
abstracción usada por Maven para definir dichos proyectos, como tal contiene los atributos de
estos y las instrucciones para construirlo.

Un Proyecto en Maven se define mediante un archivo POM, que es un archivo llamado
pom.xml con una etiqueta inicial de <project>. En dicho archivo se definen cosas como las
instrucciones para compilar el proyecto, las librerías necesarias, etc. Ya veremos más adelante
su estructura y cómo editarlos.

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 5

Ahora bien, ¿qué es un proyecto de tipo POM?. En Maven, la ejecución de un archivo POM
siempre genera un "artefacto". Este artefacto puede ser cualquier cosa: un archivo jar, un swf
de flash, un archivo zip o el mismo archivo pom. ¿Para que quieres un archivo pom que te
genere el mismo archivo pom? La respuesta es para organización de tu proyecto. Como ya
dijimos, Maven trabaja modularizando tus proyectos. De esta forma tendremos varios módulos
que conforman un sólo proyecto. Para denotar esta relación en Maven, se crea un proyecto
padre de tipo POM (esto es que no genera un binario en sí) y los módulos se definen como
otros archivos pom que heredan del primero.

Más aún, esta organización sirve para centralizar en el pom padre las variables (como el
nombre del proyecto o el número de versión), las dependencias, los repositorios, etc. que son
comunes a los módulos, eliminando duplicidad de código.

Para crear un proyecto en maven puedes hacerlo a mano siguiendo ciertas convenciones: el
nombre de la carpeta debe ser igual al nombre del proyecto (en el caso de proyectos módulo,
esto es obligatorio, si no son módulos, sino proyectos padre esto no es forzoso pero se
recomienda) y a nivel raíz de la carpeta debe estar el archivo pom.xml con la descripción del
proyecto. Tu puedes crear esto a mano, sin embargo, es más sencillo usar los Maven
Archetypes.

Los arquetipos son artefactos especiales de Maven que sirven como plantillas para crear
proyectos. Maven cuenta con algunos predefinidos y terceros han hecho los suyos para crear
proyectos con tecnologías específicas, como proyectos web con Spring o proyectos con Adobe
Flex e incluso la gente de AppFuse ha ido más allá y tiene arquetipos para crear proyectos
100% funcionales usando una mezcla de tecnologías y generación de código.

Por ahora, usaremos uno que nos crea un proyecto de tipo pom. Desde línea de comandos y
dentro del directorio donde pondrás tu proyecto teclea

mvn archetype:generate

Te aparecerá la lista completa de artefactos en el repositorio central de Maven. Actualmente a
mi me salen alrededor de 300 arquetipos (en tu versión puede variar el número). Con este
comando puedes darte una idea de los tipos de proyectos que puedes generar con Maven,
verás desde cosas muy básicas como j2ee-sample hasta proyectos avanzados con tecnologías
no estándares. En este caso tendríamos que elegir la opción maven-archetype-quickstart (la 82
en este ejemplo), pero es un poco complicado buscar el tipo de proyecto que necesitas en una
lista tan grande, por ello lo haremos de otra forma.

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 6

NOTA: Si es la primera vez que ejecutas maven, este paso tomará mucho tiempo ya que la herramienta empezará a
descargar sus dependencias. Afortunadamente esto solo sucede la primera vez.

Si no quieres que te aparezca la lista, puedes definir el arquetipo desde línea de comandos
tecleando:

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -
DarchetypeArtifactId=maven-archetype-quickstart

El arquetipo te pedirá varios atributos sobre tu proyecto, introduce estos valores (los marcados
en rojo):

Define value for groupId: : org.javahispano

Define value for artifactId: : tutorial_maven

Define value for version: 1.0-SNAPSHOT: : 1.0

Define value for package: org.javahispano: org.javahispano

Tutorial Introducción a Maven3 - javaHispano - Erick Camacho 7

Una breve explicación de ellos:

• groupId: Piensa en él como en el paquete de proyecto. Típicamente aquí se pone el
nombre de tu empresa u organización, ya que conceptualmente todos los proyectos con
ese groupId pertenecen a una sola empresa.
artifactId: Es el nombre de tu proyecto.
version: Número de versión de tu proyecto.



• package: Paquete base donde irá tu código fuente

Una vez terminado, verás que el arquetipo creó una carpeta con el nombre del artifactId que
dimos (tutorial_maven) y dentro dos cosas: un archivo pom.xml y un directorio src.

Este arquetipo crea un proyecto de tipo jar, necesitamos ahora convertirlo a uno de tipo POM.
Borra el directorio llamado src, ya que no necesitamos código fuente. Abre con un editor de
texto el archivo pom.
  • Links de descarga
http://lwp-l.com/pdf1908

Comentarios de: Tutorial Introducción a Maven 3 Erick Camacho (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad