rajeshatbuzz created the topic: Release vs. Snapshot repositories
What is the different between Release vs. Snapshot repositories in maven?
scmuser replied the topic: Re:Release vs. Snapshot repositories
A further segregation of remote repositories is the separation of Release repositories and Snapshot repositories. Note that release vs snapshot repos are always remote, since the local repository has effectively no concept of differentiation between releases and snapshots.
Also note that remote repositories can be set to release both snapshots and releases simultaneously.
Release repositories are designed to hold artifacts that have fixed values and released versions, hence the name. Given the lack of control on artifact version names, a release is effectively any artifact whose version does NOT end in the magic string “-SNAPSHOT”.
A release repository is denoted in by having the releases tag in the repo definition set to true, indicating that a given remote repo is capable of serving releases.
Snapshots are defined as artifacts that whose version ends in “-SNAPSHOT”
in other word…
Release repositories hold releases and Snapshot repositories hold snapshots. In maven a snapshot is defined as an artifact with a version ending in -SNAPSHOT. When deployed, the snapshot is turned into a timestamp. By definition, snapshots are mutable, releases are immutable. This is why Nexus makes you store them separately because usually you don’t care if you lose snapshots, but you will care if you lose releases. It makes snapshot cleanup much easier to deal with that way.
Snapshot repositories are denoted by having their snapshots tag set to true in the repository definition.