Использование Nexus REST API для извлечения артефактов с другим классификатором

#wget #nexus #sonatype

#wget #nexus #sonatype

Вопрос:

Я хочу загрузить артефакты проекта из командной строки с wget помощью . В проекте есть артефакты с разными классификаторами. Но классификатор не всегда равен, и иногда в проекте нет артефактов с классификатором. Единственная информация, которую я всегда получаю, — это координаты GAV проектов.

Когда я указываю URL-адрес без классификатора и упаковки, он отвечает Error 404: Not Found.

 URL="https://mynexus.com/nexus/service/local/artifact/maven/content?g=org.companyamp;a=someprojectamp;v=1.0.0amp;r=myrepository"
wget --user=$USER --password=$PASSWORD $URL
 

Есть ли возможность сначала получить список всех классификаторов проекта? Или загрузить все артефакты проекта с классификаторами или без них?

Я искал в документации rest api, но не могу найти решение своей проблемы.

Ответ №1:

Вы можете использовать вызов rest

http://mynexus.com/nexus/service/local/lucene/search ?a = servlet-api amp; g = javax.servlet amp; v = 2.4

чтобы получить XML-представление доступных артефактов.

Кстати: легко найти подходящие вызовы rest с помощью такой программы, как Fiddler, и изучить HTTP-трафик.

Комментарии:

1. НО это работает только с Indexer Lucene Plugin ?

2. Я не думаю, что в нашем nexus есть плагины, которые не поставляются с самим nexus 2.14. Вы пробовали вызов rest?

3. Да, локально в моей тестовой среде это работает хорошо.. Но могу ли я быть уверен, что у каждого 2.x экземпляров Nexus установлен этот плагин?

4. Я почти уверен, что это так, но если вы хотите его протестировать, просто загрузите nexus с домашней страницы sonatype, распакуйте его и запустите. Тогда у вас есть простой способ сравнения. Он не требует никакой установки и требует только рабочего jdk.

5. Спасибо за ваш ответ. Это решение моего вопроса!