Подтвердить что ты не робот

Как найти последнюю версию артефакта из репозитория maven

В рамках автоматического развертывания мне нужен script, чтобы загрузить последнюю версию артефакта из нашего внутреннего репозитория.

В идеале это script будет с ant или оболочкой unix script.

Итак, например:

У меня есть myArtifact.war, и у него есть версии 1.0, 1.1 и 2.0. Мне нужен script с учетом правильного идентификатора группы и идентификатора артефакта для извлечения версии 2.0 из нашего репозитория maven (в настоящее время с использованием artifactory).

Есть ли простой способ сделать это?

4b9b3361

Ответ 1

Вы можете проанализировать maven-metadata.xml, чтобы узнать, какие версии доступны, а какая версия - версия для выпуска. Дополнительную информацию см. В этом ответе версии плагина.

Если вы используете Nexus, вы можете использовать REST API для запроса репозитория. Вы также можете использовать API-интерфейс REST, чтобы упростить вашу обработку.

Чтобы обновить версию выпуска, активируйте профиль выпуска в Maven super POM, когда вы делаете mvn deploy. Вы можете сделать это, добавив в командную строку -Prelease-profile или -DperformRelease = true.

Профиль активируется по умолчанию в команде maven-release-plugin. Он управляется свойством useReleaseProfile. Подробнее см. release-выполнить документацию цели.

Ответ 2

Вы можете использовать цель плагина Maven Dependency get вместе с LATEST как версию для вашего артефакта:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get
    -DremoteRepositories=<URL_to_your_maven_repo>
    -Dartifact=<group_id>:<artifact_id>:LATEST
    -Dpackaging=jar
    -Ddest=<target_dir>/<artifact_name>.jar