Guía de comandos Maven


Los comandos Maven son una herramienta esencial para el desarrollo en Java, ya que optimizan el proceso de compilación con eficiencia y precisión. Maven es más que una herramienta de automatización de compilaciones: actúa como una herramienta integral de gestión y comprensión de proyectos. Simplifica la creación de proyectos, la gestión de dependencias y la documentación, convirtiéndose en un recurso indispensable para los desarrolladores. En proyectos Java, garantiza consistencia, mejora la comprensión del proyecto y facilita la colaboración en equipo. Usando convenciones para la estructura del proyecto y un archivo XML para describirlo, Maven permite a los desarrolladores gestionar compilaciones, dependencias y documentación con un mínimo esfuerzo. Esta hoja de referencia tiene como objetivo proporcionar a los desarrolladores, desde principiantes hasta profesionales experimentados, el conocimiento necesario para aprovechar eficazmente las capacidades de Maven, asegurando un proceso de desarrollo fluido y eficiente.


Instalación y configuración

Para comenzar a usar Maven en distribuciones basadas en Debian, utilizarás principalmente la terminal para la instalación y configuración. Comienza actualizando el índice de paquetes:

sudo apt update

Luego, instala Maven con el siguiente comando:

sudo apt install maven

Este comando descarga e instala Maven y sus dependencias en tu sistema. Para confirmar que Maven se instaló correctamente, ejecuta:

mvn -version

Este comando muestra la versión actual de Maven instalada, verificando que está listo para usarse. Con Maven instalado, puedes aprovechar sus capacidades para tus proyectos Java, facilitando compilaciones y gestión de dependencias.


Comandos básicos de Maven

Maven simplifica la gestión de proyectos Java mediante su potente interfaz de línea de comandos (CLI). Aquí tienes los comandos esenciales que todo desarrollador debe conocer:

Crear un nuevo proyecto

Usa mvn archetype:generate para crear un nuevo proyecto a partir de una plantilla. Este comando solicita que definas el groupIdartifactId y la versión de tu proyecto. Por ejemplo:

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

Compilar tu proyecto

mvn compile

Compila el código fuente y coloca los archivos .class en el directorio target/classes.

Ejecutar pruebas

mvn test

Ejecuta las pruebas unitarias ubicadas en src/test utilizando un framework como JUnit.

Empaquetar el proyecto

mvn package

Empaqueta el proyecto en un archivo JAR, incluyendo código compilado y recursos.

Limpiar el proyecto

mvn clean

Elimina el directorio target para comenzar con una compilación limpia.


Gestión de dependencias

Maven automatiza la inclusión y gestión de bibliotecas necesarias para el proyecto.

Agregar una dependencia
En el archivo pom.xml, dentro de <dependencies>, agrega:

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.13.2</version>
    <scope>test</scope>
</dependency>

Actualizar y eliminar dependencias
Edita o elimina el bloque correspondiente en pom.xml.

Ver el árbol de dependencias

mvn dependency:tree

Fases del ciclo de vida de Maven

Las fases del ciclo de vida representan los pasos para construir y distribuir un proyecto:

  • mvn validate: valida la estructura del proyecto.
  • mvn compile: compila el código fuente.
  • mvn test: ejecuta pruebas.
  • mvn package: empaqueta el código.
  • mvn verify: verifica la calidad.
  • mvn install: instala en el repositorio local.
  • mvn deploy: sube al repositorio remoto.

Plugins de Maven

Los plugins extienden las funciones de Maven. Algunos comunes:

Plugin de compilación

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source>1.8</source>
        <target>1.8</target>
    </configuration>
</plugin>

Otros plugins comunes:

  • maven-surefire-plugin: pruebas.
  • maven-javadoc-plugin: documentación.
  • maven-war-plugin: empaquetado en WAR.

Comandos avanzados de Maven

Omitir pruebas

mvn package -DskipTests

Establecer propiedades

mvn install -Dproperty=value

Ejecutar metas específicas

mvn plugin:goal

Modo depuración

mvn install -X

Perfiles de Maven

Los perfiles permiten personalizar configuraciones de compilación:

Activar un perfil

mvn package -Pproduction

Optimización de compilaciones Maven

Compilaciones paralelas

mvn install -T 4

Modo sin conexión

mvn package -o

Compilaciones incrementales

mvn install -pl my-module -am

Solución de problemas comunes

Conflictos de dependencias

mvn dependency:tree

Errores de plugins: verifica versiones compatibles.
Fallos de compilación: revisa mensajes de error y usa mvn -X para más detalles.


Conclusión

Esta hoja de referencia de comandos Maven es tu guía para dominar sus capacidades, desde lo básico hasta configuraciones avanzadas y resolución de errores. Maven optimiza la compilación, mejora la gestión del proyecto y facilita el manejo de dependencias. Al dominar los comandos y estrategias aquí descritas, mejorarás tu flujo de trabajo, impulsando productividad y calidad en tus proyectos Java.


Scroll al inicio