Personal tools
gvSIG Desktop
gvSIG Desktop

Cached time 11/21/13 17:45:09 Clear cache and reload

 
Document Actions

Introducción

by Cèsar Ordiñana last modified 2010-08-27 13:59

Maven es una herramienta para la gestión y construcción de proyectos software, sobretodo para aquellos basados en lenguaje Java. Se trata de una herramienta similar, en cuanto a su objetivo, a make y ant, aunque con una orientación mayor a la configuración por convenio.

Actualmente es un proyecto de nivel superior de la Apache Software Foundation, y lo podemos encontrar en la dirección: http://maven.apache.org.

Los objetivos principales de maven son:

  • Facilitar el proceso de compilación y construcción del proyecto.
  • Generar documentación de calidad sobre el proyecto.
  • Proporcionar guías de desarrollo basadas en buenas prácticas.
  • Facilitar la migración transparente a nuevas funcionalidades de maven.

La configuración de un proyecto con maven se realiza a través del archivo pom.xml, en el que se describen las propiedades principales del proyecto, sus dependencias con otros módulos y componentes externos, así como la configuración de maven a aplicar sobre él mismo. En la web de maven tenemos una guía de referencia del formato del archivo pom.xml

Siguiendo la filosofía de configuración por convención, maven define una estructura de proyecto por defecto de maven:

project
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   `-- resources
    |                   
    `-- test
        |-- java
        `-- resources

Si seguimos esta estructura (aunque si es distinta, se puede configurar), con una configuración básica podremos realizar las tareas típicas de cualquier proyecto Java, ya predefinidas en maven:

  • Compilación de código.
  • Empaquetado en archivos .jar, .war ó .ear.
  • Generación de javadoc y otros informes.
  • Ejecución de tests unitarios.
  • etc.

Cada tarea viene determinada por un objetivo de maven, cuyo nombre se le pasa como parámetro. Ej:

mvn install

Existen dos versiones principales de maven, la 1.0.* y la 2.*. Esta última es la que emplearemos en gvSIG.

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: