Загрузка артефактов из репозитория Maven без использования Maven - PullRequest
1 голос
/ 21 марта 2019

В различных сценариях оболочки нам нужно загружать артефакты из репозитория Maven (на данный момент Nexus 2.x, но может измениться в будущем).

На серверах, на которых выполняются сценарии, обычно нет Mavenустановлены.Поэтому я ищу что-то на основе http.

С одной стороны, есть REST-интерфейс, который можно использовать как

wget "http://local:8081/service/local/artifact/maven/redirect?g=com.mycompany&a=some-app&v=1.2.3"

С другой стороны, вы можете создать «стандарт»"URL, который, кажется, работает для различных репозиториев Maven.Он состоит из префикса, затем groupId с косой чертой вместо точек, затем artifactId, затем версии, а затем имени файла в форме artifactId-(classifier)-version.type.

Каков рекомендуемый метод?

1 Ответ

3 голосов
/ 21 марта 2019

Раздел Maven координат ссылки POM описывает второй упомянутый вами сценарий. В целом я обнаружил, что этот шаблон легче всего объяснить людям, изучающим Maven, то есть локальный или удаленный, артефакт находится в

$REPO/groupId/as/path/artifactId/version/artifactId-version[-classifier].type

, где $ REPO может быть $USER_HOME/.m2/repository или https://remote.repo:port/....

Я также предпочел бы второе, так как я подозреваю, что этому приложению будет легче работать с другим репозиторием когда-нибудь, если потребуется. Даже если это не совсем так, оно более самодокументировано, так что, кажется, его будет проще настроить.

...