Manual de Maven
0. ¿Qué es Maven?
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
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
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:
- 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