Tareas básicas de Maven

De ChuWiki
Saltar a: navegación, buscar

Crear un proyecto nuevo

Maven permite crear muchos tipos de proyectos java y de otros lenguajes, como groovy o clojure: aplicaciones de escritorio, aplicaciones web, aplicaciones con ejb, aplicaciones con Spring Framework, aplicaciones de Web Services y un largo etcétera. El comando

mvn archetype:generate

nos da un listado de hasta 900 tipos de proyectos para que elijamos uno y crearlo. Puesto que este listado es muy largo, podemos filtrar los proyectos que se muestran con la opción -Dfilter=filtro, donde filtro es algo relativo al tipo de proyecto que queremos (java, osgi, spring, ...) . En cualquier caso, sin filtro, el valor por defecto que nos da a elegir el comando es el de un proyecto java básico estilo "Hola Mundo".

Si sabemos el tipo de proyecto que queremos, podemos poner la opción -DarchetypeArtifactId para indicarlo sin necesidad de buscarlo en el menú. Así, son útiles

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-quickstart

para un proyecto java de escritorio y

mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

para un proyecto java de una aplicación web que generará un .war

El comando irá preguntando cosas como el groupId de nuestro proyecto (habitualmente será el nombre de nuestro dominio/proyecto, por ejemplo, com.chuidiang.ejemplos), el artifactId de nuestro proyecto (es el nombre del proyecto, del jar o war que se generará y del directorio que se creareá para el proyecto), la versión (por defecto 1.0-SNAPSHOT), etc. Incluso si creamos un proyecto con dependencias de algunas librerías externas, puede listarnos las versiones disponibles de esas librerías y pedirnos cuál deseamos usar.

Una vez contestadas todas las preguntas que nos vaya haciendo el comando, se pedirá confirmación y se creará un directorio con toda la estructura del proyecto.

Comandos básicos

Situándose en el directorio donde está el fichero pom.xml, podemos ejecutar cualquiera de los siguiente comandos. Cuando decimos jar, queremos realmente decir el fichero resultado de la compilación y empaquetado, que puede ser jar, war, ear, ...

  • mvn clean Borra todos los .class y .jar generados.
  • mvn compile Compila el proyecto.
  • mvn package Genera el jar.
  • mvn install LLeva el jar a nuestro repositorio local de jars. Queda "visible" para otros proyectos maven en nuestro ordenador.
  • mvn deploy Lleva el jar a nuestro servidor de jars. Queda "visible" para otros proyectos maven en otros ordenadores. Este comando necesita que a maven se le haya indicado dónde está dicho servidor de jars.
  • mvn javadoc:javadoc Genera la documentación javadoc de nuestro proyecto.
  • mvn site Genera documentación html del proyecto. Por supuesto, necesitamos haber escrito en determinados ficheros el contenido de esa documentación.

Pueden ser útiles comandos como

  • mvn eclipse:eclipse que nos genera los ficheros típicos de un proyecto eclipse, de forma que podemos importar el proyecto directamente en nuestro entorno de desarrollo eclipse. (Ver Integración de Maven y Eclipse)
  • mvn idea:idea igual, pero para el entorno de desarrollo IntelliJ IDEA.

Enlaces externos