Maven: 01 – Introducción
Maven es un sistema con el que principalmente manejas las dependencias entre proyectos java.
Sin Maven, si necesitas una funcionalidad que te proporciona el jar XXXX.jar, te tienes que bajar ese jar de donde corresponda y ponerlo en el lib de tu proyecto. Si además ese XXXX.jar utiliza los jares YYYY.jar y ZZZZ.jar, lo tienes que saber, bajártelos e incluirlos asimismo en el lib de tu proyecto.
Si lo que necesitas es en un proyecto tuyo XXXX usar las clases de otro proyecto tuyo YYYY tienes que generar un jar con las clases del YYYY y meterlas en el lib del proyecto XXXX y meter ese jar en el war del XXXX, lo cual es un poco engorroso.
Todo esto está mejor gestionado con Maven. Para un proyecto defines las dependencias que tiene con otros jares o con otros proyectos tuyos y él se ocupa de gestionarlo analizando transitivamente las dependencias de los proyectos y solucionando posibles conflictos. También se ocupa de generar el jar o el war, generarlos con diferentes versiones y permite compartir la programación entre los diferentes programadores mientras se está en desarrollo.
Para hacer todo esto Maven usa lo que llama repositorios, de los que hablaré en futuros artículos.