Разрешение зависимостей Maven - PullRequest
1 голос
/ 15 июня 2009

У меня есть два проекта maven A и B, для которых я активно работаю над исходным кодом. Проект A зависит от B. Если я хочу создать проект A, должен ли снимок (или выпуск) B существовать в хранилище? Или maven проверит родительский каталог A, чтобы увидеть, существует ли проект B (при условии, что моя структура каталогов выглядит примерно так: projects / A projects / B)? И какая практика будет лучше? спасибо.

Джеф

Ответы [ 3 ]

4 голосов
/ 15 июня 2009

Maven не будет искать нигде, кроме указанной вами иерархии репозитория, по умолчанию это ваш каталог .m2 (локальный репозиторий) и центральный репозиторий Maven.

Так что да, некоторая версия B должна существовать в хранилище.

Вы также можете исследовать модули проектов, где у вас есть (например) projects / pom.xml и когда он собран, он также будет строить свои дочерние элементы A и B в правильном порядке, учитывая их взаимозависимости - но вы не не вижу в этом решения описываемой проблемы, не задумываясь.

0 голосов
/ 15 июня 2009

Maven - странный инструмент для сборки, который будет искать jav-архив / артефакт maven. Пока кто-то собрал ProjectB и установил его в артефакте, или пока вы построили ProjectB (с установкой), он будет доступен для ProjectA.

Это также предполагает, что вы правильно настроили зависимость в файле pom для ProjectA.

Я использовал Maven в одном проекте, и я вернусь к ant для более стандартного инструмента сборки. Это действительно странная утка.

0 голосов
/ 15 июня 2009

Чтобы понять, как работает Механизм зависимостей в maven и как настроить отношения родитель-ребенок / субмодуль / подпроект, прочитайте this

...