maven

3
UPS. Barzallo Urgiles Edison Orlando. Apache Maven 3. Resumen—En este documento se dará a conocer sobre, que es la herramienta apache maven, sus diferentes características y sus funcionalidades. I. QUE ES APACHE MAVEN? “Apache Maven es una herramienta open source para administrar proyectos de software con la cual podemos 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” [1]. II. INSTALACIÓN DE MAVEN 3. REQUISITOS JDK de Java versión 5 ó superior. Apache maven (http://maven.apache.org/download.cg i ) descargar la última versión INSTALACIÓN Maven se ejecuta con el comando mvn.bat o mvn.sh dependiendo de en la distribución del S.O. en el que se vaya a ejecutar. Para su correcto funcionamiento se deben configurar las respectivas variables de entorno: JAVA_HOME. Debe contener el path a tu instalación del JDK. Windows, normalmente es en C:\Archivos de Programa\Java\jdk1.X. Ubuntu es en /usr/lib/jvm/java-6-sun MacOSX en $(/usr/libexec/java_home). PATH. Agrega al path la ruta al directorio bin que se encuentra donde descomprimiste Maven. En una consola escribimos mvn –versión si la configuración esta correcta nos devolverá un mensaje con información de la versión de Apache Maven. III. ESTRUCTURA DE MAVEN En maven se definen: Un modelo de objeto del proyecto. Un sistema de gestión de dependencias. El ciclo de vida del proyecto. A. Modelo de objeto del proyecto (POM – Project Object Model) EL POM describe todas las propiedades del proyecto. Entre la información que encontramos en el POM se puede destacar: Coordenadas del proyecto: es la información que permite identificar de forma única a un proyecto. groupId: Típicamente aquí se pone el nombre de la empresa u organización, ya que conceptualmente todos los proyectos con ese groupId pertenecen a una sola empresa. APACHE MAVEN 3 Barzallo Urgiles Edison Orlando. [email protected] UNIVERSIDAD POLITÉCNICA SALESIANA 1

Upload: eddy-barzallo

Post on 10-Nov-2015

10 views

Category:

Documents


1 download

DESCRIPTION

maven

TRANSCRIPT

2UPS.

Barzallo Urgiles Edison Orlando. Apache Maven 3.

(APACHE MAVEN 3Barzallo Urgiles Edison Orlando.

[email protected] POLITCNICA SALESIANA ResumenEn este documento se dar a conocer sobre, que es la herramienta apache maven, sus diferentes caractersticas y sus funcionalidades. I. que es apache MAVEN?Apache Maven es una herramienta open source para administrar proyectos de software con la cual podemos gestionar el ciclo de vida desde la creacin de un proyecto en un lenguaje dado, hasta la generacin de un binario que pueda distribuirse con el proyecto [1]. II. Instalacin de Maven 3.

REQUISITOS JDK de Java versin 5 superior.

Apache maven (http://maven.apache.org/download.cgi) descargar la ltima versinINSTALACIN Maven se ejecuta con el comando mvn.bat o mvn.sh dependiendo de en la distribucin del S.O. en el que se vaya a ejecutar.Para su correcto funcionamiento se deben configurar las respectivas variables de entorno:

JAVA_HOME. Debe contener el path a tu instalacin del JDK. Windows, normalmente es en C:\Archivos de Programa\Java\jdk1.X. Ubuntu es en /usr/lib/jvm/java-6-sun MacOSX en $(/usr/libexec/java_home).PATH. Agrega al path la ruta al directorio bin que se encuentra donde descomprimiste Maven.En una consola escribimos mvn versin si la configuracin esta correcta nos devolver un mensaje con informacin de la versin de Apache Maven.

III. ESTRUCTURA DE MAVENEn maven se definen: Un modelo de objeto del proyecto.

Un sistema de gestin de dependencias.

El ciclo de vida del proyecto.

A. Modelo de objeto del proyecto (POM Project Object Model)EL POM describe todas las propiedades del proyecto. Entre la informacin que encontramos en el POM se puede destacar:

Coordenadas del proyecto: es la informacin que permite identificar de forma nica a un proyecto.

groupId: Tpicamente aqu se pone el nombre de la empresa u organizacin, ya que conceptualmente todos los proyectos con ese groupId pertenecen a una sola empresa.

artifactId: Es el nombre del proyecto.

version: Nmero de versin del proyecto.

package: Paquete base donde ir el cdigo fuente

Propiedades administrativas del proyecto: licencia, miembros del proyecto.

Dependencias del proyecto: puede referirse a otros proyectos.

Repositorios remotos: se pueden referenciar repositorios de artefactos Maven, de los cuales los proyectos pueden obtener sus dependencias.

Plugins de terceros: permiten aadir al proyecto funcionalidad especfica para su desarrollo [2]. B. Sistema de gestin de dependencias

A travs del POM se conocen las dependencias de un proyecto. A su vez, estas dependencias pueden tener ms dependencias definidas en sus respectivos POM, que se llaman dependencias transitivas.Mavense encarga de recoger automticamente todo el rbol de dependencias de un proyecto, liberando de esta gestin al desarrollador [2].En general existen tres tipos distintos de repositorios: Repositorio local. Es el repositorio Maven instalado en la mquina de desarrollo y ubicado por defecto en el directorio .m2/.

Repositorio remoto interno. Servidor web Maven privado usado generalmente a nivel interno de organizacin.

Repositorio central. Es el repositorio remoto pblico usado por defecto para buscar las dependencias que no se encuentran en el repositorio local [3]. Agregar una dependencia

Para saber el groupId y el artifactId de una librera se puede un buscador de repositorios maven por ejemplo [1]:

http://www.mvnrepository.com

http://www.jarfinder.com

C. Ciclo de vida del proyecto

Mavensigue unas fases de ciclo de vida de un proyecto, de modo que para poder ejecutar una fase, se deben poder ejecutar de forma ordenada todas las fases anteriores del ciclo de vida. Por ejemplo, antes de poder empaquetar un proyecto, debe ser posible compilarlo y realizar pruebas unitarias [2].Las partes del ciclo de vida principal del proyecto Maven son:

1. compile: Genera los ficheros .class compilando los fuentes .java

2. test: Ejecuta los test automticos de JUnit existentes, abortando el proceso si alguno de ellos falla.

3. package: Genera el fichero .jar con los .class compilados

4. install: Copia el fichero .jar a un directorio de nuestro ordenador donde maven deja todos los .jar.

5. deploy: Copia el fichero .jar a un servidor remoto, ponindolo disponible para cualquier proyecto maven con acceso a ese servidor remoto [4].

Tambin existen algunas que estn fuera del ciclo de vida que pueden ser llamadas pero no siempre deben ser llamadas clean. Elimina las clases compiladas y los archivos binarios generados del proyecto

default. Genera los archivos binarios (artefactos) de nuestro proyecto

site. Genera archivos html que describen nuestro proyecto [2].IV. ConclusionesMavenes una herramienta que facilita la gestin de proyectos en la que se puede estandarizar las fases del ciclo de vida de los proyectos, de forma que se puede trabajar de la misma forma en cualquier proyecto, nos facilita la gestin de dependencias, eliminando la necesidad de recuperarlas de forma manual.

referencias

[1] http://www.javahispano.org/storage/contenidos/Tutorial_de_Maven_3_Erick_Camacho.pdf[2] http://www.programacion.com.py/varios/introduccion-a-maven[3] https://bitacoras.citius.usc.es/tecnologia/2013/12/18/gestion-de-dependencias-de-terceros-con-maven/[4] http://es.wikipedia.org/wiki/Maven