Разрешение зависимостей Maven в проекте с модулями - PullRequest
0 голосов
/ 18 ноября 2010

Мой проект Maven имеет следующую структуру:

project
  moduleA
  moduleB
  moduleC

Модуль B и модуль C зависят от модуля A.если я выполняю команду «mvn install», maven устанавливает moduleA и moduleB в моем локальном репозитории после того, как maven пытается установить modeleC, но безуспешно, сначала он пытается найти артефакт moduleA во всех известных удаленных репозиториях maven, и после этого яЯ получаю сообщение, что артефакт модуля A отсутствует.Это так странно, потому что иногда это работает нормально, а иногда нет.Из-за этой проблемы я потратил много времени.

Артефактный модуль A и moduleB находятся в моем локальном хранилище.

Я использую maven 2.2.1 на 64-битной машине под Windows 7 pro.

Кто-нибудь знает, в чем проблема?

Спасибо,

Кевин

1 Ответ

0 голосов
/ 18 ноября 2010

Если вы используете mvn install, эта команда поместит артефакт в ваш локальный репозиторий. Обычно в вашем домашнем каталоге в .m2 / repository, если вы не указали иначе. Если moduleC пытается построить (с установкой mvn) и зависит от moduleA, то moduleA должен извлекать данные из вашего локального репозитория, когда moduleC. Если модуль C ищет модуль A удаленно, то модуль A так и не был установлен в вашем локальном хранилище.

Проверьте pom-файл для moduleC. Убедитесь, что информация о зависимостях в pom.xml модуля moduleC для moduleA совпадает с groupId, artifactId и версией, указанной в pom.xml moduleA. Если это совпадает, убедитесь, что moduleA действительно создает артефакт. Он должен находиться в целевом каталоге в модуле A. Если moduleA не является jar, убедитесь, что у вас есть атрибут type, указанный в pom.xml для moduleA, и у pom.xml moduleC этот тип указан для зависимости.

Если приведенное выше не приводит к согласованному разрешению, вы можете отредактировать свой вопрос, добавив некоторые подробности из pom.xml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...