OpenWebinars

Herramientas

Qué es Apache Maven

¿Quieres saber qué es Apache Maven? Te contamos lo más destacado de esta importante herramienta que nos permitirá gestionar y construir proyectos Java.

Carlos Yagüe

Carlos Yagüe

EXPERTO EN ARQUITECTURA DE SOFTWARE

Lectura 1 minutos

Publicado el 29 de abril de 2019

Compartir

    Tabla de contenidos

Qué es Apache Maven

Apache Maven es una herramienta que estandariza la configuración de un proyecto en todo su ciclo de vida, como por ejemplo en todas las fases de compilación y empaquetado y la instalación de mecanismos de distribución de librerías, para que puedan ser utilizadas por otros desarrolladores y equipos de desarrollo.

También contempla temas relacionados con la integración continua, para poder realizar la ejecución de test unitarios y pruebas automatizadas, test de integración, etc.

Principales características de Maven

Básicamente, Apache Maven no deja de ser la base de los compiladores actuales, de IDES como Eclipse, NetBeans o IntelliJ, a los que ofrece soporte gracias a algunas de sus características, como por ejemplo:

  • Un sistema de gestión dependencias.
  • Un mecanismo distribuido de distribución de librerías. El comportamiento distribuido es siempre desde el repositorio local de Maven hacia los repositorios que están publicados en Internet o en la red corporativa.
  • Mecanismos para ser extensible, por la creación de plugins customizables.
  • Es multi-plataforma, puede funcionar tanto en entornos Linux como Windows al ser una aplicación Java.
  • Es software libre, con lo cual es el código está disponible, se podría modificar y customizar en caso de que fuera necesario.
  • Fomenta la reutilización de código y de librerías. El hecho de que Apache Maven ofrezca repositorios oficiales y públicos de software libre, con librerías desplegadas, que toda la comunidad de desarrolladores de software utiliza, hace que este concepto también pueda trasladarse al mundo empresarial, a través de repositorios remotos corporativos, compartidos por distintos equipos de proyectos o el propio equipo de desarrollo.
  • Es compatible con múltiples IDEs.

Origen de Maven

El nombre proviene de una palabra hebrea, que posteriormente fue acuñada en inglés como Maven, que significa “persona con conocimiento” o “profesor”.

El concepto de Maven es aglutinar conocimiento y reutilización de código, estandarización y una buena definición de configuraciones de proyectos.

Imagen 0 en Qué es Apache Maven

En la imagen vemos los antecedentes de Maven, desde cuándo para la parte de compilación de proyectos en C se usaba Make y los makefiles, y los usos posteriores para Java de Apache Ant, Jakarta Alexandria, Apache Forrest, Apache Gump, hasta llegar a Apache Maven, que surgió como un estándar y lleva muchos años siéndolo.

Definición de Maven

Usando una traducción más ajustada, se podría decir que Maven es:

  • Una herramienta de gestión de proyectos que fomenta, a través de la definición de un Project Object Model (el fichero POM que se define en cada uno de los proyectos o módulos), un conjunto de estándares que definen el ciclo de vida del proyecto.
  • Un sistema de gestión de dependencias muy potente.
  • Una lógica de ejecución de plugins que permite, en determinadas las fases del ciclo de vida, poder ejecutar un plugin concreto que ofrezca una solución a un problema. Por ejemplo, antes de la ejecución de los test, en muchos casos interesa levantar un servidor de aplicaciones, ejecutar los tests y una vez hayan finalizado, bajar ese servidor para que no ocupe ningún puerto y para mejorar el rendimiento de la máquina.

Aprende todo lo que necesitas para trabajar con proyectos que usen Apache Maven y conoce las soluciones que hay que usar para resolver los problemas más frecuentes que pueden ocurrir.

cta-blog-curso-maven

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.

Compartir este post

También te puede interesar

Icono de la tecnología
Curso

Curso de Gradle 6.0

Intermedio
1 h. y 21 min.

Realizando el curso de Gradle 6.0 online aprenderás a programar más cómodamente en un lenguaje de programación que...

Juan Luis Navarro Rey
Icono de la tecnología
Curso

Curso de Maven

Intermedio
4 h. y 55 min.

Aprende todo lo que necesitas para trabajar con proyectos que usen Apache Maven y conoce las soluciones que...

Carlos Yagüe
4