web-dev-qa-db-fra.com

Maven Snapshot Repository vs Release Repository

Quelle est la différence entre un Snapshot Repository et Release Repository?

C’est en référence à la mise en place de dépôts (comme Artifactory, Nexus, etc.)

80
Dan

Libérer les artefacts

Ce sont des versions spécifiques, ponctuelles. Les artefacts libérés sont considérés comme solides, stables et perpétuels afin de garantir que les versions qui en dépendent soient reproductibles dans le temps. Les artefacts JAR publiés sont associés à des signatures PGP et des sommes de contrôle vérifient l'authenticité et l'intégrité de l'artefact logiciel binaire. Le référentiel Central Maven stocke les artefacts de version.

Artefacts instantanés

Les instantanés capturent un travail en cours et sont utilisés pendant le développement. Un artefact de capture instantanée a à la fois un numéro de version tel que «1.3.0» ou «1.3» et un horodatage. Par exemple, un artefact de capture instantanée pour commons-lang 1.3.0 pourrait s'appeler commons-lang-1.3.0-20090314.182342-1.jar.

Tiré de refcard

52
Sayat Satybald

Les référentiels de versions contiennent les versions et les référentiels d'instantanés contiennent des instantanés. Dans maven, un instantané est défini comme un artefact avec une version se terminant par -SNAPSHOT. Lorsqu'il est déployé, l'instantané est transformé en horodatage. Par définition, les instantanés sont mutables, les versions sont immuables. C'est la raison pour laquelle Nexus vous oblige à les stocker séparément car généralement, vous ne vous souciez pas de perdre des instantanés, mais vous ferez de même si vous perdez des sorties. Cela facilite beaucoup le nettoyage des instantanés.

73
Brian Fox

Les instantanés sont une excellente idée de donner le numéro de version sous la forme -SNAPSHOTS, son développement étant en cours, il peut changer à tout moment.

Le référentiel interne est le référentiel de versions avec un numéro de version fixe. Vous pouvez modifier les SNAPSHOTS, mais cet artefact ne change jamais après sa publication.

3
AKT

Généralement, nous avons deux types de construction dans maven: 

1) Snapshot builds : SNAPSHOT est la version spéciale qui indique la copie de déploiement actuelle et non une version spécifique standard. Maven vérifie la version pour chaque construction du référentiel distant. Les versions d'instantané ne sont rien d'autre que des versions de maintenance.

2) Release builds : Release signifie supprimer SNAPSHOT avec l'ID de version pour la construction. Ce sont les versions de construction régulières.

Les artefacts d'instantané et les artefacts de version sont envoyés à des référentiels de version, instantanés ou de version respectivement.

2
Venky Vungarala

SNAPSHOT ici ne signifie pas vraiment UN instantané qui est gelé et ne changera pas, SNAPSHOT couvre plusieurs instantanés dont les modifications ne sont pas assez importantes pour être représentées par un nouveau numéro de version.

0
YourBestBet