Maven - Snapshot (Version|Dependency)

Card Puncher Data Processing

About

A snapshot is a artifact that has not been released.

The difference between a release version and a snapshot version is that snapshots might get updates.

The snapshot property of a artifact is defined in its version. See syntax.

The -SNAPSHOT version is replaced by a the deployment/upload date/timestamp and an enumerator

Syntax

A snapshot version in Maven is one that has not been released. -SNAPSHOT is a reserved string used to identify versions that are currently in development.

A snapshot version is:

  • the latest build.
  • a version that has not been released.
<version>
description-SNAPSHOT
</version>

where:

  • description can be any description you want such as master or 1.0

With this pattern, Maven will know that this version is not stable and is subject to changes.

Management

Force Update

mvn clean install -U

where:

Configuration

When you build an application, Maven will search Snapshot version dependencies once a day

Maven provides you a way to can change this update policy in the settings.xml repository definition:

<repository>
    <id>foo-repository</id>
    <url>...</url>
    <snapshots>
        <enabled>true</enabled>
        <updatePolicy>XXX</updatePolicy>
    </snapshots>
</repository>

where XXX can be:

  • always: Maven will check for a newer version on every build;
  • daily, the default value;
  • interval:XXX: an interval in minutes (XXX)
  • never: Maven will never try to retrieve another version. It will do that only if it doesn't exist locally. With the configuration, SNAPSHOT version will be handled as the stable libraries.

Support

Failure to find snapshot artifact, resolution will not be reattempted until

Failure to find artifact in repo was cached in the local repository, resolution will not be reattempted until the update interval of repo has elapsed or updates are forced

Resolution:

Documentation / Reference





Discover More
Card Puncher Data Processing
Maven - (Deploy|Distribution) Phase

This deploy phase copies: a (final) package a web site or the Javadoc documentation to a remote repository for sharing with other developers and projects. In most project builds, the deploy phase...
Card Puncher Data Processing
Maven - (Remote Repository|Server)

Remote repository in maven A remote repository (or server) can be defined as: a source to resolve dependency (via HTTP) or as a target to deploy the artifact (via SCP) The definition dependent on...
Card Puncher Data Processing
Maven - Central Repository

The Central repository is the the default repository for Apache Maven but also for other build system such SBT. This is hosted on a nexus repository manager server. ...
Idea Maven Dependency Tree
Maven - Dependency

dependency management in Maven. Dependency are artifact where your software depends on. Dependency are defined in the pom.xml, section dependencies. When you build an application, Maven will search...
Card Puncher Data Processing
Maven - Distribution Management

The distribution Management pom.xml section is responsible to define: the remote repositories how to deploy the project's site and documentation....
Card Puncher Data Processing
Maven - Version

Version in Maven can refere to: the version of maven the version of an artifact. To get the Maven Version, just execute this option Version is one component of the artifact defined in the...



Share this page:
Follow us:
Task Runner