How to check pom.xml for updated dependencies
I am fairly new to Maven and pom.xml. Is there a way I can find out which of my dependencies that are outdated, so that I can update version numbers in my pom.xml.
In other languages, for instance, Ruby has the command gem list outdated
that gives me a list of dependencies (rubygems) I can update
I am using IntelliJ Idea if that can help.
You can do this with the Versions Maven Plugin. Check the following goals:
-
versions:display-dependency-updates
scans a project's dependencies and produces a report of those dependencies which have newer versions available. -
versions:display-plugin-updates
scans a project's plugins and produces a report of those plugins which have newer versions available.
Here is a sample output (taken from the examples):
Checking for new dependency updates
The
display-dependency-updates
goal will check all the dependencies used in your project and display a list of those dependencies with newer versions available.Here are some examples of what this looks like:
svn checkout http://svn.codehaus.org/mojo/trunk/mojo/build-helper-maven-plugin build-helper-maven-plugin cd build-helper-maven-pluginRun
mvn versions:display-dependency-updatesWhich produces the following output:
[INFO] ------------------------------------------------------------------------ [INFO] Building Build Helper Maven Plugin [INFO] task-segment: [versions:display-dependency-updates] [INFO] ------------------------------------------------------------------------ [INFO] [versions:display-dependency-updates] [INFO] [INFO] The following dependency updates are available: [INFO] org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9 [INFO] org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9 [INFO] org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9 [INFO] org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6 [INFO] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ [INFO] Total time: 17 seconds [INFO] Finished at: Fri Aug 15 10:46:03 IST 2008 [INFO] Final Memory: 10M/167M [INFO] ------------------------------------------------------------------------
Pom install
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5</version>
</plugin>
If you want to do it fast you can use www.versioneye.com site.
There you can define your project and upload project pom.xml
, the site will also send you regular emails which notify you about new updates.
You can also mention which libraries do you want to check for update.
I don't know if it automatically fully sync with maven repo or not, but I always find its lib versions are update.
Update:
After 6 years the project switched off :(
So the mvn versions:display-dependency-updates
seems to be the choice.
It isn't obvious what the POM dependency is for this.
For your convenience:
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.1</version>
</dependency>
and the Repository:
<repository>
<id>Codehaus Mojo</id>
<name>Codehaus Mojo</name>
<url>https://nexus.codehaus.org/content/repositories/releases/</url>
</repository>