Maven: 02 – Conceptos
Cada usuario (ordenador) tiene lo que se llama un “repositorio local”, que está por defecto en el directorio .m2 de tu home, es decir por ejemplo C:/Users/pepe/.m2/repository.
Después están los repositorios en los que publicas los cambios para compartirlos con el resto de tu equipo, y que en principio deben ser repositorios privados dentro de una máquina de tu empresa, a la que tengan acceso todos los equipos. Esto sólo es necesario si trabajas en un equipo, si trabajas solo no es necesario.
A estos repositorios los llamo “repositorios privados” y son dos, uno para publicar los snapshots (desarrollos en curso) y los releases (desarrollos finales).
En mi caso he configurado estos repositorios privados con un simple servidor ftp. Se pueden usar otros métodos e incluso tener un software gestor de repositorios, pero no sé lo que aportan.
Si yo por ejemplo voy a tocar un proyecto que está en la versión 2.0, mientras lo modifico le pongo como versión la 2.1-SNAPSHOT.
Cuando ejecutas un install lo que haces es ponerlo en tu repositorio local para poder usarlo tú mismo en otro proyecto.
Si ejecutas un deploy lo que haces es ponerlo en los snapshots de los repositorios privados. Esto sólo es necesario si quieres que el resto del equipo vea tus cambios mientras están en snapshot.
Cuando das por buenos los cambios pones la versión a la 2.1 y ejecutas un deploy para poner la versión definitiva en los releases de los repositorios privados para que cualquiera del equipo pueda usar esa versión.
Por último están los repositorios públicos, que es de donde se baja las dependencias de librerías de terceros. Por defecto está el repositorio de Maven, que es donde estará casi todo lo que necesites, pero también puede darse el caso de librerías que no estén en el repositorio de Maven y tengas que configurar otros repositorios.