Maven dependencies - version vs updates

EugeneMi picture EugeneMi · Feb 12, 2016 · Viewed 9.9k times · Source

mvnrepository usually lists "version" and "updates" for each dependency.

  1. If I'm publishing my own package, how do I specify the "updates" version
  2. Which dependancy does Maven used when resolving transitive dependencies? So if my package depends on package A, which depends of package B with - version = 1.0 and updates = 1.1. Which version of B would I get?

Answer

Marcel Stör picture Marcel Stör · Feb 12, 2016

I finally understand your question. It would have been helpful for you to give us a concrete example right from the start. You're asking what the meaning of the information in the "Updates" column of MVNRepository's "Compile Dependencies" table is.

enter image description here

It tells you whether there's an updated version of a particular dependency available and if so what the latest version is. If there's a check mark it means the library in question already uses the latest version of dependency X. You will always get the declared version of a dependency no matter what the latest version is.

Hence, if you use valdr-bean-validation 1.1.2 (example above) you'll also get jackson-databind 2.4.0 as a transitive dependency (1st row above). 2.7.1-1 would be the latest available jackson-databind version.