Maven Versions Plugin игнорирует релизы в репозиториях
Я пытаюсь использовать плагин Maven Versions, но заблокирован проблемой, из-за которой плагин не обнаруживает артефакты выпуска в репозитории артефактов выпуска компании. Раздел теста POM, который демонстрирует проблему...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.xxxx.sage</groupId>
<artifactId>sage-core-health</artifactId>
<version>1.36-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<repositories>
<repository>
<id>releases</id>
<url>http://releases.dev.xxxx.org/archiva/repository/releases</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
Если я выполню versions:force-releases
, номер версии артефакта не обновляется. Maven записывает следующее...
[DEBUG] Looking for a release of org.xxxx.sage:sage-core-health:jar:1.36-SNAPSHOT
[DEBUG] Skipping update check for artifact org.xxxx.sage:sage-core-health (C:\Users\williams\.m2\repository\org\xxxx\sage\sage-core-health\maven-metadata-releases.xml) from disabled repository releases (http://releases.dev.xxxx.org/archiva/repository/releases)
[DEBUG] Skipping update check for artifact org.xxxx.sage:sage-core-health (C:\Users\williams\.m2\repository\org\xxxx\sage\sage-core-health\maven-metadata-central.xml) from disabled repository central (https://repo.maven.apache.org/maven2)
[INFO] No release of org.xxxx.sage:sage-core-health:jar:1.36-SNAPSHOT to force.
Версия 1.36 определенно находится в репозитории артефактов релиза. Если я изменю определение репозитория, чтобы включить моментальные снимки и выполнить ту же цель, номер версии артефакта будет корректно обновлен до 1,36.
Я пытался заставить этот плагин работать в течение нескольких дней, но кажется, что он обнаруживает только артефакты релиза в репозитории артефактов релиза, когда я включаю его для SNAPSHOT...
<repositories>
<repository>
<id>releases</id>
<url>http://releases.dev.xxxx.org/archiva/repository/releases</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
<releases>
<enabled>true</enabled>
</releases>
</repository>
</repositories>
Что я делаю неправильно?
Спасибо
0 ответов
Это происходит потому, что артефакт вашей компании является версией SNAPSHOT, поэтому Maven по умолчанию ищет в настроенном хранилище снимков последнюю версию снимка. Чтобы правильно посмотреть в репозитории релизов, удалите SNAPSHOT из вашей версии артефакта, и Maven по умолчанию будет искать в репозитории релизов. Maven определяет, какой репозиторий искать, используя версию, и если он содержит "SNAPSHOT", он будет использовать репозиторий моментальных снимков.