В чем разница между плагинами Maven Release и Maven сборок? - PullRequest
1 голос
/ 22 сентября 2010

Вопрос говорит сам за себя, я верю.

Пожалуйста и спасибо

GC

1 Ответ

2 голосов
/ 22 сентября 2010

Подключаемый модуль Maven предназначен для создания настраиваемых пакетов, таких как zip, tgz ... файлы. Вы определяете в дескрипторе содержимое окончательного пакета (или сборка ), включая файлы, каталоги, зависимости и т. Д.

Плагин Maven предназначен для процесса 1010 *, который включает в себя несколько повторяющихся манипуляций и операций. Например, он выполнит некоторые проверки (есть ли незафиксированные изменения, использовались ли некоторые библиотеки SNAPSHOT и т. Д.), Подготовит управление исходным кодом (CVS, Subversion ...), изменит версии pom (чтобы избавиться от -SNAPSHOT), передайте измененный pom.xml и т. д. Вы можете получить пример процесса выпуска здесь .

<Ч />

EDIT

Относительно вашего вопроса о -SNAPSHOT. Для Maven фиксированная версия связана с зависимостью, которая никогда не меняется. Например, две библиотеки с одинаковой фиксированной версией должны быть идентичны. Так, например, foo:bar:1.2.3 строго идентичен другому foo:bar:1.2.3

Это , а не , обязательно для версии -SNAPSHOT. Ключевое слово SNAPSHOT указывает, что текущая библиотека находится в стадии разработки. Таким образом, две версии foo:bar:1.2.3-SNAPSHOT и foo:bar:1.2.3-SNAPSHOT могут не быть идентичными. Временная метка используется Maven для проверки, какая из них самая новая.

Итак, в обычном процессе выпуска у вас есть версия 1.2.3-SNAPSHOT, которая больше не находится в разработке. Поэтому перед выпуском этой библиотеки вам нужно будет исправить версию, то есть переместить pom.xml версию в 1.2.3.

Эта модификация может быть сделана простым изменением версий pom.xml, или она может управляться Maven release plugin (или также с помощью плагина Maven ).

Надеюсь, теперь ясны объяснения относительно этого конкретного аспекта Maven.

...