Maven es una potente herramienta de gestión de proyectos que simplifica el proceso de construcción de proyectos basados en Java. En esta guía introductoria, vamos a explorar las principales características y beneficios de Maven.
¿Qué tal? Hoy vamos a hablar de Maven.
Empezaremos con una rápida introducción y luego enumeraremos las ventajas de utilizarlo. Después de todo esto, veremos su proceso de instalación y luego algunos términos técnicos que son esenciales para un principiante. Así que, ¡comencemos!
¿Qué es Maven?
Apache Maven es un software de gestión de proyectos, y podemos decir que es una herramienta de comprensión. Se basa en el concepto del modelo de objetos del proyecto (POM) [se discutirá más adelante en los artículos]; Maven puede gestionar la construcción de un proyecto, la presentación de informes y documentación de una pieza central de información.
Apache Maven es una herramienta de compilación, y realiza la tarea igual que Ant, que es de nuevo una extraordinaria herramienta de compilación. Se trata de una herramienta de gestión de proyectos de software que ofrece un nuevo concepto del modelo de objetos del proyecto (POM).
Maven permite al desarrollador automatizar la gestión de la creación del formato de carpeta original, la realización del surtido y las pruebas y el empaquetado y despliegue del resultado final. Reduce el considerable número de pasos del proceso base y convierte en un proceso de un solo paso la realización de una compilación.
¿Por qué se utiliza Maven?
En resumen, Maven simplifica y estandariza el proceso de construcción del proyecto. Maneja la colaboración en equipo, la compilación, la distribución, la documentación y las tareas separadas a la perfección.
Maven aumenta la reutilización, y también se encarga de la mayoría de las tareas relacionadas con la construcción. Trabaja en ayuda de muchos pasos como añadir jars a la biblioteca del proyecto, construir informes, ejecutar casos de prueba Junits, crear archivos Jar, War, Ear para el proyecto, e incluso muchas cosas más.
Un aspecto muy significativo de Maven es el propósito de repositorios para gestionar los archivos jar.
Además, Maven se puede utilizar en la construcción y gestión de los proyectos escritos utilizando lenguajes como C#, ruby, y otros lenguajes de programación.
Echemos un vistazo a las siguientes ventajas de Maven.
Convención sobre la configuración
- Su configuración es muy mínima.
- Dispone de gestión de dependencias.
Se pueden realizar construcciones múltiples/repetidas
- La automatización facilita las cosas.
Gestión de plugins, pruebas y desarrollo
- Tiene la capacidad de ejecutar JUnit y otras pruebas de integración.
- Hace que el proceso de desarrollo sea claro.
Disposiciones para comprobar el estado de cada compilación
- Evita configuraciones incoherentes.
- Infraestructura estándar y uniforme entre proyectos.
Arquitectura de Maven
La comprensión de la arquitectura de Maven, basada en el Modelo de Objetos del Proyecto (POM), pondrá de relieve la comprensión conceptual que ofrece una comprensión completa del marco de construcción.
La arquitectura de Maven es como se muestra a continuación:
Su arquitectura muestra todo el marco del ciclo de vida de construcción, incluyendo los ciclos de vida, etapas, objetivos, plugins y otras tareas desde el principio.
Los siguientes pasos se enumeran en la arquitectura de Maven:
- Primer paso: Requiere configurar Maven, que utiliza un archivo pom.xml. Todas las configuraciones de Maven están presentes en el archivo POM.
- Segundo Paso: Descargue las dependencias pom.xml desde el repositorio central al repositorio local.
- Tercer paso: Una vez que el usuario comienza a trabajar en Maven, la herramienta ofrece varias configuraciones por defecto, por lo que no es necesario añadir cada configuración en el pom.xml.
Ciclo de vida de construcción de Maven
El ciclo de vida de construcción de Maven es una secuencia de pasos que deben seguirse para construir un proyecto.
A continuación se muestra el esquema de las fases del ciclo de vida de construcción:
Algunas de las fases importantes son las siguientes:
- Validar: Confirma que todos los datos necesarios para la compilación están disponibles.
- Compilar: Se compila el código fuente.
- Compilar-prueba: Construye el código fuente para las pruebas.
- Probar: Ejecuta las pruebas unitarias.
- Empaquetar: Transforma el código fuente compilado en un formato accesible (jar, war, etc.).
- Instalar: El software se instala en un repositorio local.
- Desplegar: Se copia el paquete en el repositorio remoto.
Hay tres ciclos de vida incorporados en Maven:-
- Por defecto: Desde la etapa de validación hasta la etapa de despliegue, tiene 21 fases.
- Limpiar: El proyecto se limpia adecuadamente y se eliminan todos los archivos creados por la compilación anterior. En esto, hay tres fases.
- Sitio: La documentación del sitio web del proyecto se crea en este paso y tiene cuatro fases.
Repositorio en Maven
Hay tres tipos de repositorios maven:-
- Repositoriolocal: Utiliza un ordenador local para almacenar los repositorios.
- RepositorioCentral: La comunidad Maven es un repositorio central, y Maven descarga las dependencias de esta ubicación siempre que sea necesario.
- Repositorio Remoto: Maven descarga las dependencias ubicadas en un servidor web.
Ventajas de Maven
Maven es una de las herramientas de automatización y gestión de la compilación de código abierto más populares desarrollada por el Grupo Apache. Ofrece numerosas ventajas a los desarrolladores de software y a las empresas, como por ejemplo
- Administra todos los procesos de gestión de proyectos, incluyendo la construcción, documentación, liberación y distribución.
- Reduce la complejidad del desarrollo de proyectos mediante una estructura de proyectos estandarizada.
- Mejora el rendimiento de los proyectos y del proceso de desarrollo.
- Su integración de varios plugins ayuda a optimizar la calidad del código, la automatización de tareas, la mejora de la productividad, etc.
- La descarga de archivos jar y otras dependencias se realiza automáticamente.
- Facilita al desarrollador la capacidad de construir un proyecto en muchos contextos sin preocuparse de dependencias, flujos de trabajo, etc.
- Su sistema de gestión de dependencias agiliza la incorporación de bibliotecas externas, reduciendo la probabilidad de conflictos entre versiones y garantizando compilaciones coherentes y fiables.
- Agiliza el proceso de despliegue y reduce los errores humanos, lo que redunda en una mayor eficacia.
Aprovechando las ventajas de Maven, los equipos de desarrollo pueden mejorar la productividad y la calidad del código y entregar software de alta calidad, reduciendo al mismo tiempo la comunidad de desarrollo global.
Configuración del entorno Maven
La instalación de Maven incluye los siguientes pasos:
- Compruebe si el sistema tiene Java instalado o no. si no es así, instale java
- Compruebe si la variable de entorno de Java está configurada o no. Si no es así, a continuación, establezca la variable de entorno java.
- Descargue Maven
- Descomprima la descarga de maven en un lugar del sistema.
- Ahora, añada el directorio bin del directorio creado apache-maven-3.6.2 a la variable de entorno PATH y a la variable de sistema.
- Abra cmd y ejecute
mvn -v
el comando para confirmar la instalación.
Eso es todo
Para obtener los pasos detallados de la instalación, siga la siguiente guía de YouTube para configurar el entorno de Maven ya que no queremos hacer de este artículo algo de simple lectura y aburrido también.
Como se trata de una guía para principiantes por lo que debe incluir términos técnicos relacionados con MAVEN. Así que aquí están algunos, que son muy importantes:
Repositorio Local de Maven
Maven Repositorio Local es el conjunto donde Maven almacena todos los archivos jars del proyecto o bibliotecas o dependencias. Por defecto, el nombre de la carpeta se establece en ‘.m2 ‘, y por defecto, la ubicación es ‘Libraries\Documents\.m2 ‘.
Repositorio central de Maven
Maven repositorio central es la ubicación por defecto para Maven para descargar todas las bibliotecas de las dependencias del proyecto para su uso. Para cualquier librería involucrada en el proyecto, Maven busca primero en la carpeta .m2 del repositorio local, y si no encuentra la librería necesaria, entonces busca en el repositorio central y carga la librería en el repositorio local.
Maven POM
POM es un archivo XML Project Object Model que tiene información sobre el proyecto y los detalles de configuración que necesita Maven para desarrollar el proyecto.
Contiene valores por defecto para la mayoría de los proyectos. Algunas de las estructuras que pueden definirse en el POM son las dependencias del proyecto, los plugins que pueden ejecutarse y, por supuesto, los perfiles de compilación.
Elementos utilizados en la creación del archivo pom.xml
- project- El proyecto es el elemento raíz del archivo pom.xml.
- modelVersion- Implica la versión del modelo POM con el que se está trabajando.
- groupId- Implica el id para el grupo del proyecto. Es único, y lo más habitual es aplicar un ID de grupo que esté relacionado con el nombre del paquete Java raíz.
- artifactId- Se utiliza para proporcionar el nombre del proyecto que está construyendo.
- Versión- Este elemento consiste en el número de versión del proyecto. Si su proyecto ha sido lanzado en varias versiones, entonces es conveniente presentar la versión de su proyecto.
Palabra clave de dependencia
Las dependencias son las bibliotecas que necesita el proyecto. Log4j jars, Apache Poi jars, y Selenium Jars son algunas de las bibliotecas que son necesarias para el proyecto. Las dependencias en el pom.xml de Maven, se mencionan así:
com.companyname.groupnameApp-Core-lib1.0
Plugin Surefire
El plugin Surefire es necesario durante la fase de pruebas del ciclo de vida de compilación para implementar las pruebas unitarias de una aplicación. Realiza informes en 2 formatos de archivo diferentes archivos de texto plano, archivos XML y también en archivos HTML. Incluso si usted está utilizando Junits framework o TestNG para la presentación de informes, este plugin es una necesidad para su uso, ya que ayuda a Maven para encontrar las pruebas.
Aplicación práctica de Maven
Cuando se trabaja en un proyecto Java específico, y que el proyecto tiene un montón de dependencias, construcciones, y los requisitos, a continuación, trabajar con todas esas cosas manualmente es enormemente complejo y laborioso. Por lo tanto, utilizar algunas herramientas que puedan solucionar estos trabajos es realmente útil.
Maven es una herramienta de gestión de construcción de este tipo que puede realizar todas las cosas como la adición de dependencias, utilizando el classpath al proyecto, haciendo que los archivos war y jar de forma automática, y muchas cosas nuevas.
Palabras finales
Maven es beneficioso cuando se trata de construir proyectos. Le deseo éxito en su proyecto JAVA. Si usted está buscando un tutorial de vídeo, entonces usted puede comprobar hacia fuera el curso acelerado de Maven.