Diferencia entre revisiones de «Manual de Maven»
(→3. Usando Maven con Eclipse) |
|||
Línea 97: | Línea 97: | ||
Existen herramientas que permiten utilizar Maven desde entornos de desarrollo, como Eclipse. En Eclipse, la extensión más usada (y aceptada por Maven) es el plugin de Eclipse (The Maven Integration for Eclipse (m2eclipse, Eclipse m2e), que permite editar el fichero de pom mediante un asistente o bien ejecutar los comandos de maven desde el IDE. | Existen herramientas que permiten utilizar Maven desde entornos de desarrollo, como Eclipse. En Eclipse, la extensión más usada (y aceptada por Maven) es el plugin de Eclipse (The Maven Integration for Eclipse (m2eclipse, Eclipse m2e), que permite editar el fichero de pom mediante un asistente o bien ejecutar los comandos de maven desde el IDE. | ||
+ | |||
+ | http://www.eclipse.org/m2e/ | ||
[[Archivo:TareasMavenEclipse.png]] | [[Archivo:TareasMavenEclipse.png]] |
Revisión del 21:16 11 nov 2013
Contenido
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
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:
- 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 a información general del proyecto (como el groupId o el artifactId), configuraciones personalizadas para cada etapa del ciclo de vida, dependencias, configuración de repositorios, inserción de Plugins, etc
Comandos de Maven
Maven tiene predefinidas una serie de actividades o comandos relacionados con el ciclo de vida de desarrollo de un proyecto. Los comandos tienen que ejecutarse desde la carpeta raiz del proyecto. Entre los principales comandos están:
- mvn compile: Para compilar los ficheros .java en .class
- mvn package: Para generar el entregable de nuestro artefacto (por defecto un .jar)
- mvn test: Se genera el artefacto y se lanzan los tests de junit.
- mvn install: Genera el artefacto, lanza los tests y lo instala en el repositorio local de maven.
- mvn deploy: Despliega el artefacto en un repositorio remoto.
Existen muchas otros comandos/actividades. Estas actividades siguen una secuencia de ejecución, es decir, la ejecución de un comando incluye la ejecución de todos los comandos anteriores de la secuencia.
Repositorio Local y dependencias
En el fichero pom.xml encontramos una sección de dependencias. En esta sección podemos incluir cualquier artefacto maven que queramos utilizar en nuestro proyecto, de manera que la gestión de dicha dependencia es automatizada por maven. Para ello, Maven mantiene un carpeta en la máquina local (normalmente asociada al usuario), llamada Repositorio Local, en la que busca el artefacto indicado en las dependencias. Si no encuentra el artefacto en el repositorio local, lo busca en repositorios remotos. Los repositorios remotos son urls de las que maven puede descargarse artefactos.
Existen repositorios remotos propios de maven (que ya vienen configurados en la instalación de maven) en los que ya están dados de alta numerosos proyectos opensource. En cambio, habrá proyectos que aunque estén construidos con maven no estén dados de alta en los repositorios remotos estándard, están en un repositorio remoto propio de la compañía. En este caso, habrá que aañdir la url del repositorio a nuestro pom.xml.
Añadir una dependencia en proyecto maven:
Añadir un repositorio remoto al proyecto:
En cualquier caso, el repositorio local actúa de caché. Esto es, si el artefacto no está disponible en el repositorio local y maven tiene que descargárselo de un remositorio remoto, antes de usarlo, lo instala en el repositorio local, de manera que no tiene que volver a descargar de nuevo ese artefacto.
3. Usando Maven con Eclipse
Existen herramientas que permiten utilizar Maven desde entornos de desarrollo, como Eclipse. En Eclipse, la extensión más usada (y aceptada por Maven) es el plugin de Eclipse (The Maven Integration for Eclipse (m2eclipse, Eclipse m2e), que permite editar el fichero de pom mediante un asistente o bien ejecutar los comandos de maven desde el IDE.