2017-01-31 3 views
1

Я хочу загрузить некоторые файлы в недавно созданный размещенный репозиторий Maven на моем Nexus OSS 3 Экземпляр.Nexus 3 - Загрузка файлов в размещенный репозиторий Maven

Мне нужно использовать curl (не maven или что-то еще) для загрузки.

Я попробовал следующее заявление (порт не надо - у меня есть Nginx в качестве обратного прокси-сервера)

curl -v -F r=releases -F hasPom=false -F e=jar -F g=com.my.group -F a=myArtifact -F v=1.0.0-RC1 -F p=jar --upload-file "myArtifact.jar" -u user:password123 http://myNexusInstance.com/repository/myRepository 

Эта команда выдает следующую ошибку:

* Server auth using Basic with user 'user' 
PUT /repository/myRepository HTTP/1.1 
Host: myNexusInstance.com 
Authorization: Basic xxxx= 
User-Agent: curl/7.49.1 
Accept: */* 
Transfer-Encoding: chunked 
Expect: 100-continue 
HTTP/1.1 100 Continue 
} [16380 bytes data] 
HTTP/1.1 400 Invalid path for a Maven 2 repository 

Я попытался погуглить вокруг, но сделал не найти решения (ни в документации Nexus OSS 3.x, ни в разных форумах)

Репозиторий Nexus настроен со следующими значениями конфигурации :

  • Формат: Maven2
  • Тип: принимал
  • Версия политики: Release
  • Компоновка политики: Жесткая политика
  • Развертывание: Разрешить передислоцировать (также испытанный "Отключить передислоцировать")

Что здесь не так?

+0

Как «обходной путь» Я «mvn deploy: deploy-file», который требует наличия существующей установки maven, но работает. Было бы неплохо иметь независимый от инструмента механизм загрузки. –

+0

Если это сработает, я бы использовал что-то вроде Чарльза, чтобы узнать, какую конечную точку он использует. Оттуда вы, вероятно, можете легко переделать завиток на работу. – DarthHater

ответ

5

Вы не можете использовать адреса службы в Nexus Repository 3. Для того, чтобы сделать что-то, как вы пытаетесь сделать, попробуйте следующее:

curl -v -u admin:admin123 --upload-file myArtifact.jar http://nexusURL:nexusPORT/repository/myRepository/com/my/group/myArtifact/1.0.0-RC1/myArtifact-1.0.0-RC1.jar

Это должно сделать трюк?

Для некоторого хорошего чтения, вы можете проверить следующую ссылку, объясняющий макет удаленного хранилища (и, надеюсь, помогает объяснить, почему то, что я предложил сделать работы):

https://cwiki.apache.org/confluence/display/MAVEN/Remote+repository+layout#Remoterepositorylayout-Repositoryartifactlayout

+0

Нет, такое же сообщение об ошибке (неверный путь для репозитория Maven 2). Я думаю, что -upload-файл Call работает только на исходных репозиториях –

+0

Обновлен, дайте это выстрел. – DarthHater

+0

Не работает. –

Смежные вопросы