How does the updatePolicy in maven really work?

Emerson picture Emerson · Sep 27, 2010 · Viewed 30.2k times · Source

When I define an updatePolicy in my maven settings it tells maven how often snapshot artifacts shall be downloaded.

If I set it to always it of course downloads every time all snapshots.

I was wondering what happens if I set it to the default value daily or another longer peroid.

Does maven still check whether a new version of the snapshot is available and if so, does it download it although the policy says daily ?

I'm looking for the correct settings to avoid redundant downloads and not to miss a newer snapshot out there.

Answer

Pascal Thivent picture Pascal Thivent · Sep 27, 2010

I was wondering what happens if I set it to the default value daily or another longer period.

The Repository - SNAPSHOT Handling explains it maybe better than the POM reference:

Each repository in the project has its own update policy:

  • always - always check when Maven is started for newer versions of snapshots
  • never - never check for newer remote versions. Once off manual updates can be performed.
  • daily (default) - check on the first run of the day (local time)
  • interval:XXX - check every XXX minutes

I don't think there is anything to add (except maybe that check != download).

Does maven still check whether a new version of the snapshot is available and if so, does it download it although the policy says daily ?

Well, no, why would it?

I'm looking for the correct settings to avoid redundant downloads and not to miss a newer snapshot out there.

Use always if you always want Maven to download a newer version of snapshots, if available (Maven will always check the remote repository but only download if the version is newer).