Обновление Maven зависимостей в POM - PullRequest
49 голосов
/ 10 июня 2009

Существуют ли уже существующие плагины или команды Maven для обновления зависимостей в POM? Пример: (если это было в моем ПОМ)

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.3</version>
</dependency> 

Есть ли команда или плагин, который я могу запустить, чтобы заставить его обновить зависимость:

<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.4</version>
</dependency> 

Ответы [ 5 ]

56 голосов
/ 10 июня 2009

Попробуйте подключаемый модуль maven-Version-* , в частности версии : use-latest-version goal.

28 голосов
/ 12 сентября 2011

Я предпочитаю использовать версии mvn: display-dependency-updates ; это создает отчет о том, какие зависимости могут быть обновлены, но позволяет вам самостоятельно изменять POM. Есть также команда display-plugin-updates для плагинов.

4 голосов
/ 10 июня 2009

вы можете использовать dependencyManagement в вашем родительском pom:

<dependencyManagement>
      <dependencies>
          <dependency>
              <groupId>commons-lang</groupId>
              <artifactId>commons-lang</artifactId>
              <version>2.4</version>
          </dependency>
      </dependencies>
</dependencyManagement>

таким образом, вам нужно изменить версию только один раз в родительском POM

3 голосов
/ 11 октября 2013

Лично я думаю, что в maven должен быть дополнительный параметр, который позволил бы вам добавить его в файл pom.xml.

См. Сообщение на http://maven.40175.n5.nabble.com/Is-there-any-maven-plugin-to-add-dependency-to-existing-pom-xml-td2839092.html#a5772853

Здесь вы можете добавить следующее в ваш файл pom.xml:

<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>versions-maven-plugin</artifactId>
        <version>2.1</version>
      </plugin>
      ...
    </plugins>
    ...
  </build>
  ...
</project>

...

Затем сделайте резервную копию вашего файла pom.xml с помощью команды установки версии:

mvn versions:set -DnewVersion=9.9.9

Запуск последних версий:

mvn versions:use-latest-versions

и diff файлы pom.xml, pom.xml и pom.xml.versionsBackup

0 голосов
/ 10 июня 2009

Нет, это не так. И быть счастливым там нет. Как такой инструмент узнает, как обновить ваши зависимости?

Если между второстепенными версиями возможны поломки, это может произойти катастрофа.


Но вы всегда можете написать свой собственный Mojo для этого.

  • получить последнюю версию зависимости из репозитория Maven
  • сравнить с версией из pom.xml
  • переписать pom.xml
  • пробег mvn test
  • Profit!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...