Условия Maven - зависимость и плагин, репозиторий и плагинRepository
Я работаю с Maven в течение нескольких дней, но все еще запутался в некоторых терминах:
Первый вопрос - в чем разница между repository
и pluginRepository
? Если есть функциональная разница, поэтому я должен поместить один URL для обоих?
Второй вопрос - в чем разница между dependency
и plugin
? Может быть, это совершенно другой элемент для сравнения, потому что plugin
может включать dependencies
, но для меня plugins
выглядят как какие-то зависимости в сборке? Точно так же, как "Это build
зависит от этих плагинов, и один из этих плагинов зависит от этих зависимостей", я всегда думаю, что зависимости являются своего рода библиотечными банками, а плагины - это библиотеки или различные проекты в баночках...
Извините, если вопрос немного глупый, но я действительно смущен. Пожалуйста, дайте подсказку, спасибо.
Ответы
Ответ 1
Вернувшись в Maven1.0, плагины и нормальные артефакты были в разных хранилищах (насколько я знаю). В Maven2 + они хранятся вместе в репозитории. Но есть много разных репозиториев из разных компаний и проектов, поэтому вам нужно выбрать нужные вам репозитории.
Плагин - это инструмент, который вы используете при выполнении вашей сборки maven. Например, плагин компилятора компилирует ваш код Java в Bytecode.
Обычная зависимость - это артефакты, которые вы используете в своем приложении, например, библиотеки.
Оба плагина и артефакты могут иметь транзитивные зависимости. Это означает, что они сами имеют зависимости.