2013-10-11 2 views
1

Я просмотрел документацию и нашел много полезных вещей. В настоящее время я использую apache archiva в качестве зеркала. Загрузка артефактов с maven работает отлично, но я хотел бы иметь возможность загрузить артефакт, используя REST api по определенным причинам.Как программно скачать один артефакт из apache archiva с помощью REST?

На данный момент я могу сделать это, используя прямой URL-адрес для URL-адреса загрузки артефакта, который, похоже, не является хорошим способом его выполнения.

Есть ли остальные службы, я пропустил, который позволил бы мне сделать следующий сервер: порт/restServices/getArtifact/идентификатор_группы/артефакт/версия

+0

это зависит от репозитория. но я никогда не видел этого –

ответ

4

Вызов REST является:

GET http://server/restServices/archivaServices/browseService/artifactDownloadInfos/{group}/{artifact}/{version} 

Ответ содержит список записей ключ «URL», чья ссылка на скачивание артефакт. Есть запись для каждого загружаемого ресурса, например. один для банки, другой для пом и т. д. Ключ «type» можно использовать для указания того, какой из них.

Пример ответа:

[ 
     { 
     "context": "internal", 
     "url": "http://server/repository/internal/group/artifact/version/artifact-version.jar", 
     "groupId": "group", 
     "artifactId": "obs.interfaces", 
     "repositoryId": "internal", 
     "version": "version", 
     "prefix": null, 
     "goals": null, 
     "bundleVersion": null, 
     "bundleSymbolicName": null, 
     "bundleExportPackage": null, 
     "bundleExportService": null, 
     "bundleDescription": null, 
     "bundleName": null, 
     "bundleLicense": null, 
     "bundleDocUrl": null, 
     "bundleImportPackage": null, 
     "bundleRequireBundle": null, 
     "classifier": null, 
     "packaging": "jar", 
     "fileExtension": "jar", 
     "size": "31.78 K", 
     "type": "jar", 
     "path": "group/artifact/version/artifact-version.jar", 
     "id": "artifact-version.jar", 
     "scope": null 
    }, 
     { 
     "context": "internal", 
     "url": "http://server/repository/internal/group/artifact/version/artifact-version.pom", 
     "groupId": "group", 
     "artifactId": "artifact", 
     "repositoryId": "internal", 
     "version": "version", 
     "prefix": null, 
     "goals": null, 
     "bundleVersion": null, 
     "bundleSymbolicName": null, 
     "bundleExportPackage": null, 
     "bundleExportService": null, 
     "bundleDescription": null, 
     "bundleName": null, 
     "bundleLicense": null, 
     "bundleDocUrl": null, 
     "bundleImportPackage": null, 
     "bundleRequireBundle": null, 
     "classifier": null, 
     "packaging": "pom", 
     "fileExtension": "pom", 
     "size": "1.58 K", 
     "type": "pom", 
     "path": "group/artifact/version/artifact-version.pom", 
     "id": "artifact-version.pom", 
     "scope": null 
    } 
] 

Наслаждайтесь!

1

Вы можете скачать артефакты с попасть на URL Maven. Возвращенные артефакты из поиска должны вернуть его вам.

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