2009-04-24 4 views
20

Я использую Maven-уха плагин версии 2.3.1 - я знаю, что есть новая версия: http://maven.apache.org/plugins/maven-ear-plugin/Как обновить версию плагина maven?

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

+0

Вы уверены, что не используете последнюю версию? maven будет делать это автоматически. –

ответ

15

Стандартные версии плагина унаследованы от 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> 

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

+0

Как насчет в случае плагинов, которые используются из командной строки без каких-либо POM, таких как maven-install-plugin? Например, я попытался установить банку в своем локальном репозитории, выполнив следующие шаги: https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html В последнем абзаце упоминается классная функция от maven-install-plugin версии 2.5, но всякий раз, когда я запускаю команду, maven-3.3.9 использует версию 2.4 плагина, хотя у меня также есть версия 2.5.2 в репо. Я даже пытался удалить 2.4 из своего репо, но maven снова загрузил его. Где я могу его настроить? –

+0

Хорошо, я нашел ответ на свой вопрос здесь: http: // stackoverflow.com/questions/25155639/how-do-i-force-maven-to-use-maven-install-plugin-version-2-5 –

2

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

8

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

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

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

Я объяснил, почему here:.

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

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

+0

первая ссылка не работает – sergtk

+0

ссылка исправлена ​​ –

+0

Вы должны поместить информацию (или в хотя бы краткое изложение) ссылок, указанных в справочной системе: «Всегда указывайте наиболее важную часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме». – PhoneixS

36

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

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

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

Спасибо @Pat за то, что поделились информацией об этом великолепном плагине Maven! – kiwifrog