Tutorial de Maven

"Maven" se traduce como "experto" o "conocedor", es un proyecto de código abierto desarrollado puramente en Java bajo Apache. Basado en el concepto de Project Object Model (abreviado: POM), Maven utiliza un fragmento de información central para gestionar pasos como la construcción, informes y documentación de un proyecto.

Maven es una herramienta de gestión de proyectos que puede realizar la construcción y la gestión de dependencias de proyectos Java.

Maven también se puede utilizar para construir y gestionar varios tipos de proyectos, como proyectos escritos en C#, Ruby, Scala y otros lenguajes. Maven fue un subproyecto del proyecto Jakarta, y ahora es un proyecto independiente de Apache dirigido por la Apache Software Foundation.


Conocimientos necesarios antes de leer este tutorial

Este tutorial está dirigido principalmente a principiantes, ayudándoles a aprender las funciones básicas de la herramienta Maven. Después de completar este tutorial, tu conocimiento profesional de Apache Maven alcanzará un nivel intermedio, y luego podrás aprender conocimientos más avanzados.

Para leer este tutorial, necesitas tener los siguientes conocimientos básicos:Fundamentos de Java。


Funciones de Maven

Maven puede ayudar a los desarrolladores a realizar las siguientes tareas:

  • Construcción
  • Generación de documentación
  • Informes
  • Dependencias
  • SCMs
  • Publicación
  • Distribución
  • Listas de correo

Características de Maven

  1. Convención sobre configuración: proporciona una estructura de proyecto estandarizada y un ciclo de vida de construcción.

  2. Gestión de dependencias: maneja automáticamente las dependencias del proyecto.

  3. Sistema de plugins: amplia variedad de plugins para soportar diversas tareas de construcción.

  4. Soporte multimódulo: simplifica la gestión de proyectos grandes.

  5. Repositorio central: acceso a recursos de bibliotecas compartidos globalmente.


Configuración por convención

Maven promueve el uso de una estructura de directorios estándar común. Maven utiliza el principio de convención sobre configuración, y todos deben seguir esta estructura de directorios en la medida de lo posible. Como se muestra a continuación:

Directorio Propósito
${basedir} Almacena pom.xml y todos los subdirectorios
${basedir}/src/main/java Código fuente Java del proyecto
${basedir}/src/main/resources Recursos del proyecto, como archivos de propiedades, springmvc.xml
${basedir}/src/test/java Clases de prueba del proyecto, como código JUnit
${basedir}/src/test/resources Recursos para pruebas
${basedir}/src/main/webapp/WEB-INF Directorio de archivos de aplicaciones web, información del proyecto web, como web.xml, imágenes locales, páginas de vista JSP
${basedir}/target Directorio de salida del empaquetado
${basedir}/target/classes Directorio de salida de compilación
${basedir}/target/test-classes Directorio de salida de compilación de pruebas
Test.java Maven solo ejecutará automáticamente las clases de prueba que cumplan con esa regla de nomenclatura.
~/.m2/repository Ubicación predeterminada del repositorio local de Maven
Otras extensiones