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

Лучшие плагины "общего назначения" Maven

Мы просто переезжаем в Maven, и я понимаю, что существует мир разных плагинов и расширений. Какие из них рекомендуются для общего использования?

(На плагине за ответ, пожалуйста)

4b9b3361

Ответ 1

Я считаю, что эти плагины наиболее полезны в моей повседневной работе:

  • surefire - для модульного тестирования
  • dependency - для анализа зависимости модулей
  • cobertura - для unit test анализа покрытия
  • liquibase - для запуска миграции базы данных
  • assembly - для создания одиночных исполняемых банок, содержащих все необходимые зависимости приложения

Существует гораздо больше исследований и многое зависит от потребностей вашего проекта, конечно. И, конечно, один из самых полезных плагинов, который я использую, - это те, которые я написал для некоторых конкретных потребностей. Это одна из самых ценных функций maven - способность легко расширять ее.

Ответ 2

Плагин версий Maven, очень полезен для проверки и управления версиями POM и зависимостей:

  • versions:display-dependency-updates - проверяет зависимости проекта и создает отчет о тех зависимостях, которые имеют более новые версии.
  • versions:display-plugin-updates - сканирует плагины проекта и создает отчет о тех плагинах, которые имеют более новые версии.
  • versions:update-child-modules - обновляет родительский раздел дочерних модулей проекта, чтобы версия соответствовала версии текущего проекта. Например, если у вас есть агрегатор pom, который также является родителем для проектов, которые он агрегирует, а дочерние и родительские версии выходят из синхронизации, это mojo может помочь исправить версии дочерних модулей. (Обратите внимание, что вам может потребоваться вызвать Maven с опцией -N, чтобы выполнить эту задачу, если ваш проект сломан настолько плохо, что он не может построить из-за неправильной версии).
  • versions:set - может использоваться для установки версии проекта из командной строки.

Ответ 3

Плагин maven для приставок довольно потрясающий, он помогает значительно упростить разработку веб-приложений. Вместо того, чтобы упаковывать ваше приложение, вы можете просто сделать это:

mvn jetty:run

И ваше приложение запускается.

Ответ 4

Maven Dependency Plugin - еще один обязательный плагин для отладки/очистки/понимания POM и того, как вы получаете некоторую зависимость (транзитивно):

  • dependency:analyze - анализирует зависимости этого проекта и определяет, какие: используются и объявлены; используемый и необъявленный; неиспользованный и объявленный.
  • dependency:tree - отображает дерево зависимостей для этого проекта.

Ответ 5

Maven Enforcer Plugin, который позволяет контролировать, что все плагины имеют указанную версию или определенные ограничения среды, такие как версия Maven, версия JDK и ОС семьи вместе со многими другими стандартными правилами и пользовательскими правилами.

Ответ 6

Плагин поддержки Maven, который является обязательным для отладки POM:

  • help:effective-pom - отображает эффективный POM
  • help:active-profiles - для списка профилей, которые в настоящее время активны для сборки.
  • help:evaluate - для оценки выражений maven

Ответ 7

Maven FindBugs Plugin - это то, что вы хотите для статического анализа кода. Очень полезно обнаруживать ошибки, которые не покрываются вашими тестами разработчиков.

Ответ 8

Maven Cargo Plugin, чтобы запустить и остановить ваш веб-контейнер. Вы также можете использовать его для развертывания своего веб-приложения в запущенном контейнере. Мы используем его для интеграции и функционального тестирования для наших веб-приложений.

Ответ 9

exec-maven-plugin чрезвычайно полезен для запуска задач, не охваченных известными плагинами.

У этого есть две цели, первая из которых "exec" позволяет запускать любой исполняемый файл, как если бы вы запускали его из командной строки на любом этапе. Вторая цель "java" позволяет вам запускать любой класс java.

Это было спасение жизни, когда мне пришлось добавить класс Parser, созданный CUP. Там нет плагина CUP maven, но exec разрешил мне выполнить основной класс Java CUP для генерации моего парсера.

Я могу думать о любом количестве применений для этого; и все же его было довольно трудно найти; его существование должно быть оштукатурено на первой странице документации maven.

Ответ 12

Как правило, один плагин имеет определенную цель, то есть плагины, которые вы будете использовать, зависят от того, что вы хотели бы сделать. Например, если вы хотите указать исходную версию, используйте maven-compiler-plugin или maven-javadoc-plugin для генерации javadocs. Другие плагины могут запускать причал до запуска ваших интеграционных тестов, и есть плагины, которые развертывают вашу двоичную версию на ваш сервер приложений и т.д.

Для общего обзора, пожалуйста, посетите Maven - доступные плагины или каталог плагинов на Центральный репозиторий Maven. Есть также много плагинов в проект Mojo в Codehaus. Соответствующий репозиторий можно найти здесь.