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
Convención sobre configuración: proporciona una estructura de proyecto estandarizada y un ciclo de vida de construcción.
Gestión de dependencias: maneja automáticamente las dependencias del proyecto.
Sistema de plugins: amplia variedad de plugins para soportar diversas tareas de construcción.
Soporte multimódulo: simplifica la gestión de proyectos grandes.
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 |