Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Colaboración y Desarrollo Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Aprenda sobre Apache Maven- Una herramienta de automatización de la compilación

¡Hola a todos! 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, a continuación, 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 la 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 hace que realizar una compilación sea un proceso de un solo paso.

¿Por qué se utiliza Maven?

En resumen, Maven simplifica y estandariza el proceso de construcción del proyecto. Gestiona sin problemas la colaboración en equipo, la compilación, la distribución, la documentación y las tareas separadas. Maven aumenta la reutilización, y también se encarga de la mayoría de las tareas relacionadas con la construcción. Trabaja en la ayuda de muchos pasos como la adición de jars a la biblioteca del proyecto, la construcción de informes, y la ejecución de casos de prueba Junits, la creación de Jar, War, archivos 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 tarro de archivos.

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:

Maven-arch

Su arquitectura muestra todo el marco del ciclo de vida de construcción, incluyendo los ciclos de vida, etapas, objetivos, complementos 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:

Maven-build-cycle

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: Utilice 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.
  • Reduzca 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, lo que reduce los errores humanos y 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 en general.

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 entonces instale java
  • Compruebe si la variable de entorno java está establecida o no. Si no es así, a continuación, establezca java variable de entorno.
  • Descargar 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 el comando mvn -v 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.

YouTube vídeo

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 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

El repositorio central de Maven es la ubicación por defecto para Maven para descargar todas las librerías de las dependencias del proyecto para el 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 se pueden definir en el POM son las dependencias del proyecto, los plugins que se pueden ejecutar 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- Significa 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. Como Log4j jars, Apache Poi jars, Selenium Jars son pocas bibliotecas que son necesarias para el proyecto. Las dependencias, en el pom.xml de Maven, se mencionan así:


 
 com.companyname.groupname
 App-Core-lib
 1.0
 

Plugin Surefire

El plugin Surefire es necesario durante la fase de prueba del ciclo de vida de compilación para implementar las pruebas unitarias de una aplicación. Realiza informes en 2 formatos de archivo diferentes como archivo de texto plano, archivos XML y también en archivos HTML. Incluso si usted está utilizando Junits marco 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, requisitos, a continuación, trabajar con todas esas cosas manualmente es enormemente complejo y laborioso. Por lo tanto, el uso de algunas herramientas que pueden resolver estos trabajos es realmente útil.

Y Maven es tal herramienta de gestión de construcción que puede realizar todas las cosas como la adición de dependencias, utilizando el classpath al proyecto, haciendo war y jar archivo automáticamente y muchas cosas nuevas.

Conclusión

Esta herramienta es beneficiosa 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.

  • Geekflare Editorial
    Autor
    El equipo editorial de Geekflare está formado por un grupo de escritores y editores experimentados dedicados a ofrecer contenidos de alta calidad a nuestros lectores. Nos comprometemos a ofrecer contenido práctico que ayude a crecer a particulares y empresas.
Gracias a nuestros patrocinadores
Más lecturas sobre colaboración
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder