Как проверить pom.xml для обновленных зависимостей

Я новичок в Maven и pom.xml. Есть ли способ узнать, какие из моих зависимостей устарели, чтобы я мог обновлять номера версий в моем pom.xml.

В других языках, например, Ruby имеет команду gem list outdated, которая дает мне список зависимостей (rubygems), которые я могу обновить

Я использую IntelliJ Idea, если это может помочь.

Ответ 1

Вы можете сделать это с помощью Версии Maven Plugin. Проверьте следующие цели:

  • versions:display-dependency-updates сканирует зависимости проекта и создает отчет о тех зависимостях, которые имеют более новые версии.
  • versions:display-plugin-updates сканирует плагины проекта и создает отчет о тех плагинах, которые имеют более новые версии.

Вот пример вывода (взятый из примеров):

Проверка новых обновлений зависимостей

Цель display-dependency-updates будет проверять все зависимости, используемые в вашем проекте, и отображать список этих зависимостей с более новыми версиями.

Вот несколько примеров того, как это выглядит:

svn checkout http://svn.codehaus.org/mojo/trunk/mojo/build-helper-maven-plugin build-helper-maven-plugin
cd build-helper-maven-plugin
mvn versions:display-dependency-updates

Что производит следующий вывод:

[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] ------------------------------------------------------------------------

Ответ 2

Неясно, для чего предназначена зависимость POM.

Для вашего удобства:

<dependency>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>versions-maven-plugin</artifactId>
    <version>2.1</version>
</dependency>

и репозиторий:

<repository>
    <id>Codehaus Mojo</id>
    <name>Codehaus Mojo</name>
    <url>https://nexus.codehaus.org/content/repositories/releases/</url>
</repository>

Ответ 3

Если вы хотите сделать это быстро, вы можете использовать www.versioneye.com сайт.

Здесь вы можете определить свой проект и загрузить проект pom.xml, сайт также отправит вам регулярные электронные письма, которые сообщают вам о новых обновлениях.

Вы также можете указать, какие библиотеки вы хотите проверить на наличие обновлений.

Я не знаю, автоматически ли он полностью синхронизируется с maven repo или нет, но я всегда нахожу, что его версии lib обновлены.