Разрешение зависимостей Maven в проекте с модулями

мой проект maven структурирован как:

project
  moduleA
  moduleB
  moduleC

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

Артефакты moduleA и moduleB находятся в моем локальном репозитории.

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

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

Спасибо,

Кевин


person eglobetrotter    schedule 18.11.2010    source источник


Ответы (1)


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

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

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

person jgifford25    schedule 18.11.2010