Avatar ·

Qu'est-ce que Maven SNAPSHOT et pourquoi est-il nécessaire dans les projets Java ?

Bonjour à tous ! Je suis nouveau en Java et Maven, je travaille sur un petit projet où j'utilise une bibliothèque externe que nous développons également en parallèle. Dans le fichier pom.xml, j'ai spécifié une dépendance avec la version `1.0.0-SNAPSHOT`, mais mon chef d'équipe a dit que ce n'est pas pour la production, seulement pour le développement. Je ne comprends pas bien la différence entre une version normale (par exemple, `1.0.0`) et `SNAPSHOT`. Apparemment, ce sont toutes les deux des versions. Quand j'exécute `mvn clean install`, Maven se plaint parfois de ne pas trouver `1.0.0-SNAPSHOT` localement, alors que je viens de compiler la bibliothèque. Et parfois, au contraire, il récupère une ancienne version, même si j'ai déjà fait des modifications. Expliquez-moi, s'il vous plaît, ce qu'est Maven SNAPSHOT en termes simples ? Pourquoi a-t-on inventé cela ? Et comment travailler correctement avec pour éviter les confusions de versions ? Je suis particulièrement intéressé par la façon dont Maven décide quand télécharger une nouvelle version SNAPSHOT et quand utiliser celle déjà en cache. Exemple de code : je connecte la bibliothèque `com.example:my-lib:1.0.0-SNAPSHOT` et je veux que lors de