Я надеюсь, что кто-то может помочь мне с проблемой, с которой я борюсь.
Когда я пытаюсь построить свой проект из терминала, я получаю эту ошибку:
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
common.test-data-utils
Банка создается отдельный проект и распределяется между этим и другим проектом (другой проект не строит либо, но это вниз к другой проблеме).
Я могу собрать 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.
Может кто-нибудь сказать мне, что я здесь скучаю или делаю неправильно?
источник
~/.m2/setting.xml
сначала добавили это в свой раздел зеркала, а затем после запускаmvn -U clean install
убедитесь, чтоReimport
(щелкните правой кнопкой мыши по проекту, затем под нижнимMaven
разделом естьReimport
кнопка ).Эта проблема может возникнуть, если у вас есть несколько дочерних проектов, которые ссылаются на родительский pom, и вы не установили его из родительского pom-каталога (запускайте
mvn install
из родительского каталога). Один из дочерних проектов может зависеть от одноуровневого проекта, и когда он начнет читать pom одноуровневого элемента, он потерпит неудачу с ошибкой, упомянутой в вопросе, если вы не установили его из родительского pom-каталога хотя бы один раз.Я просто столкнулся с этой проблемой при переносе проекта на новый компьютер. Я имел обыкновение запускать команды из дочернего проекта и не запускал установку на родительском.
источник
mvn install
на родительском можно также добавить-N
нерекурсивную операцию. Это приведет к тому, что maven пропустит все модули (включая один, который выходит из строя) и просто выполнитinstall
задание для родителя.mvn install
в родительском пом. Разве это не будет использоваться только для того, чтобы можно было загрузить зависимую сестру? Если вы случайно зашли в каталог «родного брата» и запустилисьmvn install
оттуда, так что jar находится в вашем локальном хранилище, разве это не приведет к тому же самому?Была такая же проблема с IntelliJ IDEA, и следующие работали.
File
Settings
Build, Execution, Deployments
Build Tools
из выпадающегоMaven
из выпадающегоAlways update snapshots
флажокисточник
Если вы используете Eclipse, щелкните правой кнопкой мыши на вашем проекте -> Maven -> Обновить проект . Откроется диалоговое окно «Обновить проект Maven».
В этом диалоговом окне установите флажок « Принудительное обновление снимков / выпусков» и нажмите « ОК» . (Пожалуйста, обратитесь к изображению ниже)
Это сработало для меня!
источник
Если вы используете eclipse, щелкните правой кнопкой мыши проект -> свойства -> Maven и убедитесь, что « Разрешить зависимости из проектов рабочей области » не нажата.
Надеюсь это поможет.
источник
Я знаю, что опаздываю на разговор, но у меня тоже была эта проблема. Я думаю, что проблема заключалась в брандмауэре моей компании. Мое решение состояло в том, чтобы отключить от сети, подключиться к нашему открытому беспроводному и затем вызвать обновление через Eclipse. Это решило все.
источник
У меня была такая же проблема с eclipse, где командная строка сборки maven работала нормально, но попробуйте это
Ошибка исчезает .... почему моя командная строка mvn работала с этими каталогами и затмение .m2eclipse не мог, я понятия не имею, и это вроде отстой. Мой проект снова работает в Eclipse.
источник
mvn clean install
работалиУ меня была та же проблема с использованием IntelliJ. Я решил правой кнопкой мыши на pom.xml> Maven> Reimport
источник
Я решил эту проблему, удалив в папках репозитория, где была показана эта ошибка, все, кроме файлов .jar и .pom.
источник
Проблемы «Не удалось прочитать дескриптор артефакта» обычно указывают на проблему с pom-файлом зависимости в репозитории maven. Я бы посоветовал вам дважды проверить, совпадает ли имя файла pom с именем, ожидаемым maven, а также проверить, является ли содержимое файла pom действительным.
источник
Для меня это было связано с настройкой «User Setting.xml» внутри
источник
У меня есть проект
Сейчас в нашей организации есть еще один проект
(Каждый модуль a1, b1 и т. Д. И родительские проекты A, B имеют свой собственный файл pom.xml в соответствии со стандартными maven-правилами parent и child)
Оба проекта проверены на моем локальном затмении (из SVN). Я активно работаю над А.
Я узнал, что в B есть хорошая общая функциональность (b4), и мне нужно было ее использовать.
Разработчик b4 развернул этот модуль b4 как артефакт в репозитории нашей организации. Я включил зависимость в POM моего модуля, то есть в a2 pom.xml. Eclipse загрузил требуемый артефакт из репозитория, и я мог импортировать в него классы.
Теперь проблема начинается ... Мне нужно было проверить исходный код b4 для какой-то цели, и, поскольку я уже проверил B на моем локальном затмении, я обновил его из SVN и вынул модуль b4. Я также запустил pom.xml модуля b4 с такими целями, как clean, package и т. Д. Через некоторое время, когда я закончил писать код, мне нужно было создать JAR-файл моего модуля a2. Я запустил "package" на pom.xml и BAM в a2 ошибки n ошибки для модуля a2. Эти ошибки также были не очень удобными для пользователя. Единственное, в логах наверняка было имя b4.
Решение: после многих часов попыток я запустил «mvn -U clean install» из консоли в директории проекта моего B (т.е. в ../codebase/B). Поскольку B является родительским, команда clean install была выполнена для всех модулей, включая b4, и она прошла успешно. После этого я запустил «mvn -U clean install» для моего родительского проекта, который называется A. И это сработало! Модуль a2 был успешно скомпилирован, установлен (упакован позже).
Здесь важным моментом было то, что если b4 находится в вашем рабочем пространстве, не устанавливайте только b4. Вам нужно будет выполнить чистую установку полной версии B. Я пришел к этому решению после прочтения ответа от Zuill.
РЕДАКТИРОВАТЬ: Еще одна вещь здесь, чтобы отметить, что если бы я не был проверен проект B в локальной среде, то эта проблема, возможно, не возникла бы для меня. Я склонен думать, что это произошло, потому что я проверил B в моей локальной рабочей области.
источник
Вы упоминаете два разных идентификатора группы,
com.morrislgn.merchandising.common
иcom.johnlewis.jec.webpim.common
. Может быть, это проблема.источник
Ссылка Maven на ошибку «Невозможно передать ...»
источник
Не повезло, обновление через затмение. Пришлось использовать mvn clean install -U (которая разрешила все).
источник
Для меня, кажется, на самом деле была проблема с зависимостью POM.
Я обошел это, используя виртуальный репозиторий jitpack, с помощью которого вы можете включать репозитории github на основе их URL вместо их собственного POM (что, по-видимому, ошибочно в моем случае).
источник
У меня была такая же проблема некоторое время, и, несмотря на это,
mvn -U clean install
проблема не решалась!Я наконец решил проблему, удалив всю
.m2
папку, а затем перезапустил мою IDE, и проблема исчезла!Поэтому иногда проблема может возникнуть из-за несовместимости или проблем в вашем локальном хранилище maven.
источник
В нашем случае ошибка возникла из-за неправильного переименования groupId, в то время как некоторые проекты в конфигурации с несколькими модулями Maven ссылаются на другие.
У нас был агрегатор проекта (
billing-parent
) с двумя модулями (billing-api
,billing
):Проект
billing
зависит отbilling-api
. Так что вpom.xml
ней было:Мы решили переименовать groupId из
com.company.team
вcom.company.team.billing
. Мы заменили старое значение в родительскомpom.xml
и в<parent>
разделах обоих модулей. Но забыл обновить зависимость выше. Итак, мы получили конфигурацию, в которойbilling
проект ссылается на старыйbilling-api
артефакт. В конце концов онbilling
через некоторое время вырубает сборку модуля с ошибкой вроде[ERROR] Failed to execute goal on project billing: Could not resolve dependencies for project com.company.team.billing:billing:jar:3.5.1-SNAPSHOT: Failed to collect dependencies at com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failed to read artifact descriptor for com.company.team:billing-api:jar:3.5.1-SNAPSHOT: Failure to find <parent of the com.company.team:billing-parent project which is not available any more>
несмотря на то, что
billing-api
модуль строится без ошибок.Решение 1: переименование
groupId
вdependency
а.Решение 2: заменить
groupId
в${project.groupId}
собственности , как это:Вывод. Поэтому мой совет на случай, если вы столкнулись с ошибкой в многомодульной конфигурации: тщательно проверьте
groupId
иartifactId
зависимости от соседних модулей.источник
Перейдите через оболочку внутри папки вашего проекта и выполните следующую команду:
Обычно это уже должно решить вашу проблему.
Если вы видите сообщение, подобное этому:
Затем выполните:
с последующим:
снова, чтобы, наконец, обновить ваши зависимости.
Затем выполните чистую сборку Maven:
источник
У меня была похожая проблема. В моем случае версия testng в моей папке .m2 / repositories была повреждена, но когда я удалил ее и снова сделал обновление maven, все работало нормально.
источник
У меня была эта проблема в Eclipse, но
mvn -U clean install
она не работала, но щелкнув правой кнопкой мыши по проекту и выбрав Maven-> Update Project, я решил эту проблемуисточник
Я только начал использовать STS Eclipse, впервые используя Maven. У проекта, который я настроил, уже был свой собственный файл settings.xml. В этом случае вы захотите обновить файл settings.xml в конфигурации запуска.
щелкните правой кнопкой мыши файл pom.xml и «Запуск от имени» -> «Выполнить настройки ...»
где написано «Настройки пользователя», нажмите кнопку «Файл» и добавьте файл settings.xml.
Я думаю, что это специфично для вашего проекта, но мои «Цели» настроены на «чистую установку», и я проверил «Пропустить тесты».
источник
Эта ошибка в основном говорит о том, что maven не может прочитать определенную зависимость из локального репозитория. Это может произойти, потому что файл JAR не был загружен правильно. Итак, перейдите в локальный репозиторий maven и убедитесь, что нет файла расширения .lastUpdated .
источник
Это помогло мне:
Из IDE (Red Hat CodeReady Studio в моем случае).
Windows -> Показать представление -> Терминал -> Открыть / добавить локальный терминал
Запустите команды следующим образом>
$
cd /pom-file-path/
$
mvn -U clean install
источник
Я решил эту проблему, изменив maven setting.xml и репозиторий
источник