Manual de Maven

De Wiki de EGC
Revisión del 20:39 11 nov 2013 de Amgutierrez (discusión | contribuciones) (2. Uso básico de Maven)
Saltar a: navegación, buscar

0. ¿Qué es Maven?

http://maven.apache.org

Es una herramienta de código abierto (de la fundación Apache) para asistir en la construcción de proyectos software JAVA. Entre otras cosas:

  • Gestión sencilla de la construcción
  • Gestión de las dependencias de código.
  • Da soporte a buenas prácticas en el desarrollo (separar código fuente de código de testing, soporte de diferentes hitos en el ciclo de vida del desarrollo, etc).
  • Se puede extender con funcionalidad externa mediante plugins.
  • Soporta la integración con múltiples entornos de desarrollo (Eclipse, Netbeans, ...).


1. Instalación

Prerrequisitos: Máquina virtual de Java.

Maven es una herramienta java de consola que se puede descargar de:

http://maven.apache.org/download.cgi (versión 11/11/2013: 3.11)

La instalación de Maven consiste en descomprimir el paquete de archivos en una carpeta del disco (p.e. C:\apache-maven-3.1.1) y añadir el ejecutable de Maven a la ruta de Ejecución del Sistema.

Windows

PathWindows.png

Ubuntu

Una vez hecho ésto, podemos comprobar que está correctamente configurado ejecutando en una consola, en cualquier ruta, el comando:

>mvn --version

2. Uso básico de Maven

Creando un proyecto

Para crear un proyecto un proyecto maven, ejecutamos el comando

mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

donde:

  • archetype: plugin que indica a maven con qué tipo de estructura tiene que crear
  • groupId: grupo al que queremos que pertenezca nuestro artefacto
  • artifactId: nombre de nuestra aplicación o artefacto

Este comando crea una estructura de directorios estándard de maven. Esto es:

Archivo:EstructuraDirectorioMaven.png


  • src: fuentes y ficheros de configuración del proyecto
  • test: fuentes de pruebas, clases de test de junit
  • Aparecerán más como:
  • target: guarda las clases compiladas, los jars, etc

resources, config, webapp, site, …

  • Identificamos el ‘artifactId’ el ‘groupId’ así como el fichero ‘pom.xml

Ese fichero pom.xml (POM - Project Object Model), es el fichero de configuración de la construcción de nuestro proyecto. Al abrir el fichero, encontramos las entradas correspondientes al artifactId, así como groupId

MavenWorkflow.png