Ошибка при развертывании артефакта в Nexus
Im ‘получает ошибку при развертывании артефакта в моем собственном репозитории на сервере Nexus: «Не удалось развернуть артефакты: не удалось передать артефакт» «Не удалось передать файл http: /// my_artifact. Код возврата: 400″
У меня Nexus работает с одним пользовательским репозиторием my_repo со следующей локальной конфигурацией maven:
settings.xml
- Лучший способ развертывания приложения Visual Studio, которое может работать без установки
- Объединить msi и exe
- Как я могу развернуть приложение .NET, использующее ODAC, без установки всего компонента пользователю?
- Приложение .NET не может запускать и получать XamlParseException
- Выбор устройства для Android - мое устройство кажется офлайн
my_repo user pass ... my_repo Repo Mirror *
- у пользователя есть разрешения на создание / чтение / запись в my_repo –
my_repo my_repo default snapshots Snapshots
поmy_repo my_repo default snapshots Snapshots
и затем выполняю
mvn deploy
и получить ошибку. Есть идеи?
- Как развернуть приложение JAX-RS?
- Приложение Java EE Enterprise: выполните некоторые действия по развертыванию / запуску
- Развертывание проекта Maven throws java.util.zip.ZipException: недопустимый заголовок LOC (плохая подпись)
- Горячее развертывание на JBoss - как мне заставить JBoss «видеть» изменение?
- Как изменить цвет фона в меню параметров?
- System.IO.FileNotFoundException: не удалось загрузить файл или сборку «X» или одну из ее зависимостей при развертывании приложения
- Каков наилучший способ использования веб-сервиса из VB6?
- Запуск приложения на основе .net без .NET Framework
Несколько вещей, о которых я могу думать:
- неверные учетные данные пользователя
- неправильный URL-адрес сервера
- пользователь не имеет доступа к репозиторию развертывания
- пользователь не имеет доступа к целевому целевому репозиторию
- артефакт уже развернут с этой версией, если это релиз (не -SNAPSHOT-версия)
- repository не подходит для развертывания соответствующего артефакта (например, релиз репо для моментальной копии, репозитория прокси или группы вместо размещенного репозитория)
Проверьте их, и если вы все еще сталкиваетесь с проблемой, укажите здесь более подробную информацию.
Просто чтобы создать отдельный ответ. Ответ действительно найден в комментарии для принятого ответа.
Попытайтесь изменить версию своего артефакта до конца с помощью -SNAPSHOT
.
У меня была эта точная проблема сегодня, и проблема заключалась в том, что версия, которую я пыталась выпустить: выполнить было уже в репозитории Nexus.
В моем случае это, вероятно, связано с отключением сети во время более раннего вызова выпуска: выполнить. Несмотря на то, что я потерял связь, похоже, релиз преуспел.
В редком случае, когда вам нужно перераспределить артефакт SAME STABLE в Nexus, он по умолчанию не удастся. Если вы удалите артефакт из Nexus (через веб-интерфейс) с целью его повторного развертывания, развертывание все равно будет терпит неудачу, так как просто удаление, например, jar или pom не очищает другие файлы, все еще лежащие в каталоге. Вам нужно войти в поле и полностью удалить каталог.
Причиной проблемы для меня было -source.jars было загружено дважды (с maven-source-plugin), как упоминалось как одна из причин в принятом ответе. Перенаправление на ответ, о котором я говорил: сбой плагина Maven: исходные артефакты развертываются дважды
- в родительском приложении pom ==> Версия помещает тег следующим образом: xxx-SNAPSHOT
пример: 0.0.1-SNAPSHOT
- «-SNAPSHOT»: очень важно
Убедитесь, что не существует (артефакт и версия) в nexus (как релиз). В этом случае возвратите неверный запрос.
Сегодня у меня была такая же проблема с добавлением «Код возврата: 400, ReasonPhrase: Bad Request». который оказался «артефактом, уже развернутым с этой версией, если это проблема с выпуском» из ответа выше, введите описание ссылки здесь
Еще одно не упомянутое решение – настроить Nexus для перераспределения в repository выпуска. Возможно, это не лучшая практика, потому что это установлено по какой-то причине, но вы тем не менее можете перейти к «Параметры доступа» в своих хранилищах Nexus «Конфигурация» -Tab и установить «Политика развертывания» на «Разрешить повторное развертывание».
Если какой-либо из вышеприведенных ответов выработал, вы можете создать новый артефакт непосредственно с админкой (снимок экрана NEXUS, приведенный ниже).
-
Login to nexus
UI http: // YOUR_URL: 8081 / nexus (имя пользователя: admin default password: admin123 ) -
Click repositories
на левой стороне, затем нажмите репо, например: нажмите кнопку «Отпустить». - Выберите «
artifact Upload
(последняя вкладка). - Выберите
GAV definition
качестве параметраGAV Param
Затем введите идентификатор группы, идентификатор артефакта и версию. - Выберите файл Jar.
- Нажмите «Загрузить артефакт». Это оно !
Теперь вы сможете добавить корригентов в свой проект (снимок экрана ниже)