Подтвердить что ты не робот

Nexus принимает загрузку, но говорит, что это не удалось

Когда я выполняю mvn release:perform на родительском POM, сервер отвечает этой ошибкой об одном из дочерних проектов (имена файлов отредактированы):

[ERROR] Не удалось выполнить цель org.apache.maven.plugins: Maven-Deploy-плагин: 2,7: развертывание файл (default-cli) по проекту: Не удалось развернуть артефакты: не удалось передать артефакт из/в репозиторий: Не удалось передать файл. Код возврата: 400, ReasonPhrase: неверный запрос.

Однако все файлы для этого дочернего проекта успешно загружены! Я вижу новый каталог (названный в честь номера версии выпуска) и содержит все файлы .jar,.pom,.md5 и .sha1, которые можно было бы ожидать.

У меня нет доступа к серверу Nexus, но мне интересно, что может вызвать это и как его исправить. Возможно ли, что Maven пытается дважды загрузить этот конкретный дочерний проект? Если да, почему бы Maven сделать это и как я могу остановить его?

ОБНОВЛЕНИЕ: Если у вас такая же проблема, проверьте ответ с наибольшим количеством голосов в этом сообщении. Я запустил mvn help:effective-pom и обнаружил, что в рассматриваемом проекте на самом деле было два исполнения фазы развертывания. Удаление одной из этих казней решило мою проблему.

4b9b3361

Ответ 1

Я столкнулся с той же проблемой, выпустив maven многомодульный проект. Ошибка произошла в первый раз, но цель развертывания уже была связана с , а затем создайте соответствующий путь. Предполагая, что "освобождение" репо является однократным, второй раз я его trggered, nexus отказаться от перезаписи пути.

Итак, в таком случае вы можете попросить своего администратора удалить репо... или создать новую версию.

PS: лучше поздно, чем никогда;)