¿Qué es Maven SNAPSHOT y para qué sirve en proyectos Java?
¡Hola a todos! Soy nuevo en Java y Maven, estoy trabajando en un proyecto pequeño en el que uso una librería externa que también estamos desarrollando en paralelo. En el archivo pom.xml especifiqué una dependencia con la versión `1.0.0-SNAPSHOT`, pero mi team lead dijo que esto no es para producción, solo para desarrollo.
No entiendo bien la diferencia entre una versión normal (por ejemplo, `1.0.0`) y `SNAPSHOT`. Al fin y al cabo, ambas son versiones. Cuando ejecuto `mvn clean install`, Maven a veces se queja de que no puede encontrar `1.0.0-SNAPSHOT` localmente, aunque acabo de compilar la librería. Y otras veces, por el contrario, descarga una versión antigua, aunque ya hice cambios.
Explíquenme, por favor, ¿qué es Maven SNAPSHOT en palabras simples? ¿Para qué se inventó? ¿Y cómo trabajar con él correctamente para evitar confusiones con las versiones? Me interesa especialmente cómo decide Maven cuándo descargar una nueva versión SNAPSHOT y cuándo usar la que ya está en caché. Ejemplo de código: conecto la librería `com.example:my-lib:1.0.0-SNAPSHOT` y quiero que al