¿Qué Es Maven?
Total Page:16
File Type:pdf, Size:1020Kb
¿Qué es Maven? Maven es una herramienta de gestión y comprensión de proyectos. Maven ofrece a los desarrolladores un marco de trabajo para construir todas las etapas del ciclo de vida de una aplicación. El equipo de desarrollo puede automatizar la infraestructura necesaria para la creación de proyectos en poco tiempo. Maven utiliza un esquema de directorio estándar y una construcción de etapas clásicas de ciclo de vida de un proyecto. En el caso en el que el desarrollo de un proyecto, sea realizado por varios equipos de desarrollo, Maven puede configurar la forma de trabajar basándose en estándares en muy poco tiempo. Como la mayoría de las configuraciones de proyecto son simples y reutilizable, Maven facilita la vida a los desarrolladores proporcionando de forma automática: la creación de informes, validaciones, compilación y pruebas de configuraciones de forma automatización. Maven facilita el trabajo de los desarrolladores maneras de administrar siguientes: Maven permite gestionar: • Compilaciones • Creación de documentación • Creación de informes • Resolución de dependencias • Releases • Distribuciones • Listas de correo En conclusión, Maven simplifica y estandariza el proceso de creación de proyectos. Gestiona la compilación, distribución, documentación colaboración en grupo y tareas similares. Maven incrementa la reutilización y se encarga de la mayor parte de las tareas relacionadas con las tareas de compilación. Historia de Maven Maven fue creado con el fin de simplificar el proceso de compilación den el proyecto Turbine de Jakarta. Había varios proyectos y cada uno de ellos contenía ficheros de construcción de ANT muy parecidos. A partir de este hecho, el grupo Apache desarrollo Maven, el cual es capaz de construir proyectos, publicar información acerca de los mismos, desplegar proyectos, compartir JARs y ayudar en la colaboración entre grupos de desarrollo. Objetivo de Maven El objetivo primario de maven es proporcionar a los desarrolladores: • Un modelo comprensible para: la creación de proyectos y el mantenimiento de proyectos. • Plugins y tools que interactúan con este modelo declarativo. 1 La estructura y contenido de un proyecto Maven se define en un fichero nombrado pom.xml. Este fichero se llama POM (Project Object Model). El POM es la piedra angular de MAVEN. Convención sobre configuración. Maven utiliza Convención sobre configuración, lo que significa que los desarrolladores no tienen que crear el proceso de creación de ellos mismos. Los desarrolladores no tienen que mencionar todos y cada uno de los detalles de configuración. Maven proporciona un comportamiento para proyectos. Cuando se crea un proyecto Maven, Maven crea la estructura del proyecto de forma predeterminada. El desarrollador sólo debe colocar los ficheros en la forma apropiada y no necesitamos definir ninguna configuración en el fichero pom.xml. Por ejemplo, la siguiente tabla muestra los valores por defecto para los archivos de código fuente de un proyecto, archivos de recursos y otras configuraciones. Asumiendo que la variable ${basedir} indica la ubicación del proyecto: Item Valor por defecto Código fuente ${basedir}/src/main/java Recursos ${basedir}/src/main/resources Ficheros con las pruebas ${basedir}/target/classes Compiled byte code ${basedir}/src/test JAR para la distribución ${basedir}/target Para crear el proyecto, Maven proporciona a los desarrolladores opciones para seleccionar el ciclo de vida objetivo (goal) y dependencias de proyectos (esto depende de las capacidades de los plugins y en sus convenciones por defecto). La mayor parte de la gestión de proyectos, construcción de los mismos y tareas relacionadas es llevada a cabo por los plug-ins de Maven. Los desarrolladores pueden crear proyectos Maven sin necesidad de conocer cómo funcionan los plugins. Sin embargo para poder adaptarlos a necesidades concretas es necesario saber cómo configurarlos. En la sección Plugins de Maven se dan los detalles para su configuración. 2 Maven Environment Setup Maven se basa en, así que el primer requisito es tener instalado el kit de desarrollo de Java (SDK) System Requirement JDK 1.5 o superior. Memory Sin requisito mínimo. Disk Space Sin requisito mínimo. Operating System Sin requisito. 1º Paso. Verificar la instalación de JAVA en su ordenador Abrir un terminal (cmd.exe) y ejecutar el siguiente comando de acuerdo al S.O. que esté instalado: Sistema Tarea Comando Operativo Windows Abrir un terminal (cmd.exe) c:\> java -version Linux Abrir un terminal $ java -version Mac Abrir terminal $ java -version El resultado de la ejecución debe ser algo similar a lo siguiente: Sistema Salida Operativo Windows java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode) Linux java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode) Mac java version "1.7.0_07" Java(TM) SE Runtime Environment (build 1.7.0_07-b10) Java HotSpot(TM) 64-Bit Server VM (build 23.3-b01, mixed mode) En caso de que no esté instalado Java, debe proceder a su instalación para ello basta con descargar install the Java Software Development Kit (SDK) from http://www.oracle.com/technetwork/java/javase/downloads/index.html. Se recomienda instalar Java SE 7u9 3 2º Paso: Configurar el entorno JAVA Se debe crear la variable de entorno JAVA_HOME y hacer que su valor sea igual a la ruta en donde instalo el SDK. Sistema Operativo Salida Windows JAVA_HOME = C:\Program Files\Java\jdk1.7.0_07 Linux export JAVA_HOME=/usr/local/java-current Mac export JAVA_HOME=/Library/Java/Home Añadir la ubicación del compilador de Java al Path del sistema. Sistema Operativo Salida Windows Agregar, a la variable de sistema PATH, la cadena ;C:\Program Files\Java\jdk1.7.0_07\bin Linux export PATH=$PATH:$JAVA_HOME/bin/ Mac No se debe hacer nada 3º Paso: Descargar Maven Descargar la versión 2.2.1 from http://maven.apache.org/download.html Sistema Nombre del fichero Operativo Windows apache-maven-2.0.11-bin.zip Linux apache-maven-2.0.11-bin.tar.gz Mac apache-maven-2.0.11-bin.tar.gz 4º Paso: Extraer los ficheros de Maven Descomprima el fichero “apache-maven-2.2.1-bin.zip” en su ordenador (Para Windows se sugiere la ruta: c:\soft). Una vez descomprimido, debe tener el subdirectorio con Maven Sistema Ubicación (depende del S.O.) Operativo Windows C:\soft\apache-maven-2.2.1 Linux /usr/local/apache-maven Mac /usr/local/apache-maven 4 5º Paso: Establecer las variables de entorno de Maven Se deben agregar las variables de entorno M2_HOME, M2, MAVEN_OPTS S.O. Salida Windows M2_HOME=C:\soft\apache-maven-2.2.1 M2=%M2_HOME%\bin MAVEN_OPTS=-Xms256m -Xmx512m Linux export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1 export M2=%M2_HOME%\bin export MAVEN_OPTS=-Xms256m -Xmx512m Mac Open command terminal and set environment variables. export M2_HOME=/usr/local/apache-maven/apache-maven-2.2.1 export M2=%M2_HOME%\bin export MAVEN_OPTS=-Xms256m -Xmx512m 6º Paso: Añada la ubicación del directorio bin al Path del sistema S.O. Salida Windows Agregar, a la variable de sistema PATH, la cadena: ;%M2%. Linux export PATH=$M2:$PATH Mac export PATH=$M2:$PATH 8º Paso 8: Verificar la instalación de Maven Abrir una terminal y ejecutar el comando mvn siguiente. S.O. Tarea Comando Windows Abrir una consola: c:\> mvn --version Linux Abrir un Terminal: $ mvn --version Mac Abrir un Terminal machine:~ joseph$ mvn --version Finalmente, verifique que en la terminal de comandos, aparece algo como lo siguiente: 5 S.O. Salida Windows Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.7.0_07 Java home: C:\soft\jdk1.7-64bits\jre Linux Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.7.0_07 Java home: C:\soft\jdk1.7-64bits\jre Mac Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200) Java version: 1.7.0_07 Java home: C:\soft\jdk1.7-64bits\jre 6 Maven POM POM es el acrónimo de Project Object Model. Es la piedra angular de trabajo en Maven. Es un fichero XML. Siempre debe estar en el directorio base de un proyecto con el nombre pom.xml. El POM contiene información sobre el proyecto y detalles de la configuración utilizada por Maven para construir los proyectos. POM también contiene las metas (goals) y los plugins. Durante la ejecución de una tarea (task) o meta (goal), Maven busca el POM en el directorio actual. Lee el POM, obtiene la información de configuración necesaria, y luego ejecuta la meta (goal). Algunas de la configuración que puede especificarse en el POM son los siguientes: • Dependencias del proyecto • plugins • Metas (goals) • Perfiles de construcción (build profiles) • Versionado del proyecto • Desarrolladores • Listas de correo Antes de crear un POM, primero se debe decidir el grupo del proyecto (groupId), su nombre (artifactId) y su versión. Estos atributos definen de forma única al proyecto en el repositorio. POM Ejemplo <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.companyname.project-group</groupId> <artifactId>project</artifactId> <version>1.0</version> </project> Para cada proyecto, debe existir un fichero POM. • Todos y cada uno de los ficheros POM necesitan tener: El elemento project y tres campos obligatorios: groupId, artifactId, version. • La notación que se utiliza en el repositorio es la siguiente: groupId:artifactId:version. • El elemento raíz del fichero POM.xml es el elemento Project. Project tiene tres sub-nodos principales: 7 • Nodo Descripción groupId Identificador de grupo del proyecto.