Repaso
English
Maven, Git y SDLCIntermedioVCS-07

¿Qué es una versión -SNAPSHOT en Maven?

Opciones

  1. Una release estable que nunca cambia tras publicarse
  2. Una versión de desarrollo que puede cambiar con el tiempo (Opción correcta)
  3. Una versión que no se puede construir con Maven ni Gradle
  4. Una copia de seguridad de la release en un repositorio

Respuesta

Una versión de desarrollo que puede cambiar; Maven puede volver a descargarla cuando se actualiza, a diferencia de una release inmutable

Por qué

Una versión como 1.2.0-SNAPSHOT significa "trabajo en curso hacia la 1.2.0". El artefacto con esa misma versión se puede reemplazar muchas veces.

Una versión de release como 1.2.0 nunca debe cambiar una vez publicada: quien dependa de ella obtiene exactamente los mismos bytes.

Buena práctica: nunca dependas de SNAPSHOTs en builds de producción, porque el build no es reproducible.

Recuerda

SNAPSHOT = trabajo en curso mutable; release = fija para siempre.

Términos clave

Practica esta pregunta en Repaso