Подтвердить что ты не робот

Как обновить версию плагина maven?

Я использую версию maven-ear-plugin 2.3.1. Я знаю, что доступна новая версия: http://maven.apache.org/plugins/maven-ear-plugin/ p >

Я не могу решить, как обновить до последней версии

4b9b3361

Ответ 1

Стандартные версии плагина унаследованы от Super POM, и вы можете проверить их с помощью mvn help:effective-pom.

Если вы хотите переопределить предложенную версию, добавьте это в свой POM:

<project>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
  </build>
</project>

Замените версию тем, что вам нужно.

Ответ 2

Несмотря на то, что это уже получило "одобренный ответ", выясняется, что есть этот AWESOME версии plugin, который обрабатывает обслуживание бесконечной версии проблема.

Для этих ленивых людей здесь есть некоторые из его целей:

  • версии: display-dependency-updates просматривает зависимости проекта и создает отчет о тех зависимостях, которые имеют более новые версии.
  • : display-plugin-updates сканирует плагины проекта и создает отчет о тех плагинах, которые имеют более новые версии.
  • : display-property-updates сканирует проект и создает отчет о тех свойствах, которые используются для управления версиями артефакта, и какие свойства имеют более новые версии.
  • : update-parent обновляет родительский раздел проекта, чтобы он ссылался на новейшую доступную версию. Например, если вы используете корпоративный почтовый POM, эта цель может быть полезна, если вам нужно убедиться, что вы используете последнюю версию корпоративного корневого POM.
  • : свойства обновления обновляют свойства, определенные в проекте, так что они соответствуют последней доступной версии определенных зависимостей. Это может быть полезно, если набор зависимостей должен быть заблокирован для одной версии.
  • версии: update-child-modules обновляет родительский раздел дочерних модулей проекта, чтобы версия соответствовала версии текущего проекта. Например, если у вас есть агрегатор pom, который также является родителем для проектов, которые он агрегирует, а дочерние и родительские версии выходят из синхронизации, это mojo может помочь исправить версии дочерних модулей. (Обратите внимание, что вам может потребоваться вызвать Maven с опцией -N, чтобы выполнить эту задачу, если ваш проект сломан настолько плохо, что он не может построить из-за неправильной версии).
  • версии: lock-snapshots выполняет поиск в pom для всех версий -SNAPSHOT и заменяет их текущей версией timestamp этого -SNAPSHOT, например. -20090327.172306-4
  • версии: unlock-snapshots выполняет поиск в pom для всех снимков с моментальным снимком и заменяет их на -SNAPSHOT.
  • : set может использоваться для установки версии проекта из командной строки.
  • : использование-релизы выполняет поиск в pom для всех версий -SNAPSHOT, которые были выпущены, и заменяет их соответствующей версией выпуска.
  • версии: use-next-релизы выполняет поиск в pom для всех версий, отличных от SNAPSHOT, которые были более новой версией и заменяют их следующей версией выпуска.
  • версии: use-latest-releases выполняет поиск в pom для всех версий, отличных от SNAPSHOT, которые были более новой версией и заменяют их последней версией.
  • : use-next-snapshots ищет pom для всех версий, отличных от SNAPSHOT, которые были более новой версией -SNAPSHOT и заменяли их следующей версией -SNAPSHOT.
  • : use-latest-snapshots ищет pom для всех версий, отличных от SNAPSHOT, которые были более новой версией -SNAPSHOT и заменяли их последней версией -SNAPSHOT.
  • версии: use-next-versions выполняет поиск в pom для всех версий, которые были более новой версией и заменяли их следующей версией.
  • версии: use-latest-versions выполняет поиск в pom для всех версий, которые были более новой версией и заменяли их последней версией.

Ответ 3

Как выбирается версия плагина, а также обсуждение версий плагина в суперпоме подробно описывается здесь.

На самом деле выбранный ответ не совсем прав. Это должно быть

<project>
  <build>
   <pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-ear-plugin</artifactId>
        <version>2.3.1</version>
      </plugin>
    </plugins>
   </pluginManagement>
  </build>
</project>

Я объяснил, почему здесь:

"Регулярный раздел плагинов также позволяет определять версию и конфигурацию по умолчанию, и в этом заключается путаница. Технически целесообразно определить версию плагина и конфигурацию по умолчанию здесь, но мне легче получить groom pom при соблюдении этого руководства:

Если блок плагинов не определяет выполнение (и, таким образом, связывает maven для выполнения чего-то в жизненном цикле), поместите этот блок в pluginManagment "

Ответ 4

Некоторые плагины maven ограничены версиями maven. Например, в целом проекты вокруг здесь используют Maven 2.0.4, который ограничен использованием военного плагина 2.0.2 - это работает с оверлеями. 2.1-альфа, однако, что Maven 2.0.9 использует, не делает - поэтому нам пришлось вручную понизить рейтинг. Maven, если не указано иное, попытается использовать последнюю версию плагина, которая может быть в соответствии с его версией.