Я новичок в Maven, из мира Ant.
Можно ли перечислить все возможные цели (включая, скажем, все плагины), которые вы можете запустить?
Я вижу, что раньше -g
в Maven 1 был флаг, но он недоступен в версии 2.
Я новичок в Maven, из мира Ant.
Можно ли перечислить все возможные цели (включая, скажем, все плагины), которые вы можете запустить?
Я вижу, что раньше -g
в Maven 1 был флаг, но он недоступен в версии 2.
Ответы:
Цель, которую вы указываете в командной строке, связана с жизненным циклом Maven. Например, build
жизненный цикл (вы также имеете clean
и site
жизненные циклы , которые отличаются) состоят из следующих этапов:
validate
: подтвердите правильность проекта и наличие всей необходимой информации.compile
: скомпилировать исходный код проекта.test
: протестировать скомпилированный исходный код с помощью подходящей среды модульного тестирования. Эти тесты не должны требовать, чтобы код был упакован или развернут.package
: взять скомпилированный код и упаковать его в распространяемый формат, такой как JAR.integration-test
: обработать и при необходимости развернуть пакет в среде, в которой можно запускать интеграционные тесты.verify
: выполнить любые проверки, чтобы убедиться, что пакет действителен и соответствует критериям качестваinstall
: установить пакет в локальный репозиторий для использования в качестве зависимости в других проектах локально.deploy
: done в среде интеграции или выпуска копирует окончательный пакет в удаленный репозиторий для совместного использования с другими разработчиками и проектами.Вы можете найти список «основных» плагинов здесь , но есть много других плагинов, таких как Codehaus них, здесь .
Можно ли перечислить все возможные цели (включая, скажем, все плагины), которые можно запустить?
Maven не имеет для этого ничего встроенного, хотя список фаз конечен (список целей плагина отсутствует, поскольку список плагинов отсутствует).
Но вы можете упростить задачу и использовать возможности завершения bash (используя cygwin, если вы работаете под Windows), как описано в Руководстве по автозаполнению Maven 2.x с использованием BASH (но прежде чем выбирать сценарий из этого руководства, прочтите дальше ).
Чтобы все заработало, сначала следуйте этому руководству по настройке завершения bash на вашем компьютере. Затем пришло время получить скрипт для Maven2 и:
maven
Ubuntu), который вы можете загрузить из HEAD. Просто лучший .Вот что я получил, чтобы проиллюстрировать результат:
$ mvn [tab] [tab] Показать все 377 возможностей? (да или нет) муравей: муравей муравей: чистый муравей: помощь antrun: помощь antrun: запустить архетип: ползать архетип: создать архетип: создать из проекта архетип: генерировать архетип: помощь сборка: сборка сборка: каталог сборка: каталог-одиночный сборка: помощь сборка: одиночная ...
Конечно, я никогда не просматриваю 377 возможностей, я использую завершение. Но это дает представление о размере списка "а" :)
Maven Shell
инструменте автоматическое завершение, которое может быть здесь полезно?
mvnsh
не обеспечивает завершения (по крайней мере, не в той версии, которая установлена на моей машине). Я проверил, прежде чем ответить :)
Если вы используете IntelliJ IDEA, вы можете просматривать все цели / задачи maven (включая плагины) на Maven Projects
вкладке:
Давайте сделаем это очень просто:
Жизненные циклы Maven: 1. Очистить 2. По умолчанию (сборка) 3. Сайт
Этапы Maven жизненного цикла по умолчанию: 1. Проверка 2. Компиляция 3. Тест 4. Пакет 5. Проверка 6. Установка 7. Развертывание
Примечание: не путайте и не путайте цели maven с жизненным циклом maven.
См. Основные сведения о жизненном цикле сборки Maven 1
Жизненный цикл сборки состоит из фаз
Каждый из этих жизненных циклов сборки определяется различным списком фаз сборки, где фаза сборки представляет собой этап жизненного цикла.
Например, жизненный цикл по умолчанию состоит из следующих этапов (полный список этапов жизненного цикла см. В Справочнике по жизненному циклу):
Эти фазы жизненного цикла (плюс другие фазы жизненного цикла, не показанные здесь) выполняются последовательно, чтобы завершить жизненный цикл по умолчанию. Учитывая приведенные выше этапы жизненного цикла, это означает, что при использовании жизненного цикла по умолчанию Maven сначала проверит проект, а затем попытается скомпилировать исходные коды, запустить их для тестов, упаковать двоичные файлы (например, jar), запустить интеграционные тесты для этого. пакет, проверьте тесты интеграции, установите проверенный пакет в локальный репозиторий, затем разверните установленный пакет в удаленном репозитории.
Источник: https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html