Maven: не удалось прочитать дескриптор артефакта - PullRequest
224 голосов
/ 10 июля 2011

Я надеюсь, что кто-то может помочь мне с проблемой, с которой я борюсь.

Когда я пытаюсь построить свой проект из терминала, я получаю эту ошибку:

Failed to read artifact descriptor for com.morrislgn.merchandising.common:test-data-utils:jar:0.3b-SNAPSHOT: Could not find artifact com.morrislgn.merchandising:merchandising:pom:0.3b-SNAPSHOT

1006 * jar создается отдельным проектом и совместно используется этим и другим проектом (другой проект тоже не собирается, но это связано с другой проблемой).

Я могу собрать com.morrislgn.merchandising.common:test-data-utils без проблем, я вижу запись, которую он делает в локальном репозитории .m2 на моей машине.Я также переиндексировал свой репозиторий в Eclipse.

POM для моего проекта имеет следующую запись:

<dependency>
    <groupId>com.morrislgn.merchandising.common</groupId>
    <artifactId>test-data-utils</artifactId>
    <version>0.3b-SNAPSHOT</version>
</dependency>

Что мне кажется правильным - POM также не сообщает об ошибках ни при просмотре в Eclipse.

Может кто-нибудь сказать мне, что я здесь скучаю или делаю неправильно?

Ответы [ 24 ]

151 голосов
/ 12 ноября 2012

Вы всегда можете попробовать mvn -U clean install

-U принудительно проверяет наличие обновленных выпусков и снимков в удаленных репозиториях.

124 голосов
/ 22 октября 2013

Эта проблема может возникнуть, если у вас есть несколько дочерних проектов, которые ссылаются на родительский pom, и вы не установили его из каталога родительского pom (запустите mvn install из родительского каталога).Один из дочерних проектов может зависеть от одноуровневого проекта, и когда он начнет читать pom одноуровневого элемента, он потерпит неудачу с ошибкой, упомянутой в вопросе, если вы не установили его из родительского pom-каталога хотя бы один раз.1003 * Я только столкнулся с этой проблемой при переносе проекта на новый компьютер.Я имел обыкновение запускать команды из дочернего проекта и не запускал установку на родительском.

79 голосов
/ 15 августа 2017

У меня была такая же проблема с IntelliJ IDEA, и сработало следующее.

  • Перейти к File
  • Выбрать Settings
  • Выбрать Build, Execution, Deployments
  • Выберите Build Tools из выпадающего списка
  • Выберите Maven из выпадающего списка
  • Установите флажок Always update snapshots

image Preferences/Settings > Build, Execution, Deployment > Build Tools > Maven > Always update snapshots (checkbox)">

35 голосов
/ 11 ноября 2014

Если вы используете затмение, щелкните правой кнопкой мыши по проекту -> свойства -> Maven и убедитесь, что « Разрешить зависимости от проектов рабочей области » не нажата.

Надеюсь, это поможет.

27 голосов
/ 15 марта 2017

Если вы используете Eclipse, Щелкните правой кнопкой мыши свой проект -> Maven -> Обновить проект . Откроется диалоговое окно «Обновить проект Maven».

В этом диалоговом окне установите флажок Принудительное обновление снимков / выпусков и щелкните OK . (См. Изображение ниже)

Update Maven Project Dialog Box

Это сработало для меня!

21 голосов
/ 14 ноября 2012

Я знаю, что опаздываю к разговору, но у меня тоже была эта проблема. Я думаю, что проблема заключалась в брандмауэре моей компании. Мое решение состояло в том, чтобы отключить от сети, подключиться к нашему открытому беспроводному и затем принудительно обновить через Eclipse. Это решило все.

11 голосов
/ 16 февраля 2012

У меня была такая же проблема с eclipse, когда командная строка сборки maven работала просто отлично, НО попробуйте это

  • , перейдите в .m2 / repository и сотрите каталог, связанный
  • Запустите обновлениеmaven зависимости в eclipse

Ошибка исчезает .... почему моя командная строка mvn работала с этими каталогами, а eclipse .m2eclipse не могла, я понятия не имею, и это вроде отстой.Мой проект снова работает в Eclipse.

9 голосов
/ 19 марта 2012

Я решил эту проблему, удалив в папках репозитория, где была показана эта ошибка, все, кроме файлов .jar и .pom.

7 голосов
/ 28 февраля 2018

У меня была такая же проблема при использовании IntelliJ. Я решил правой кнопкой мыши на pom.xml> Maven> Reimport

6 голосов
/ 26 марта 2012

Проблемы «Не удалось прочитать дескриптор артефакта» обычно указывают на проблему с файлом pom зависимости в репозитории maven.Я бы посоветовал вам дважды проверить, совпадает ли имя файла pom с именем, ожидаемым maven, а также проверить, является ли содержимое файла pom действительным.

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