Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: eglobetrotterОтветов: 1

мой проект 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.

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

Спасибо,

Кевин

installationmaven

Ответы

Ответ 1 · jgifford25

Если вы используете 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.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы