Мой проект использует следующую конфигурацию распространения для развертывания на артефакте:
<distributionManagement>
<snapshotRepository>
<id>nexus-deploy</id>
<name>MSG Snapshot Repository</name>
<url>https://artifactory.***.net/artifactory/msg-snapshot-local</url>
</snapshotRepository>
</distributionManagement>
Этот артефакт является экземпляром JFrog Artifactory. Он настроен так, что он всегда возвращает 403 (не авторизован), если ресурс не найден - я предполагаю, чтобы пользователи не знали, не имеют ли они разрешения на что-либо или его нет. Реально, пока я не вижу возможности изменить это.
Важно: «Не авторизован» - это хорошо известная проблема / поведение нашей артефакты в случае, если запрашиваемый файл делаетне существует.
Теперь это приводит к проблеме, заключающейся в том, что при запуске mvn deploy
он пытается загрузить metadata.xml для моей текущей версии моментального снимка перед развертыванием, которое, очевидно, завершается ошибкой:
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ msg ---
Downloading from nexus-deploy: https://artifactory.***.net/artifactory/msg-snapshot-local/com/***/msg/msg/1.6-SNAPSHOT/maven-metadata.xml
[WARNING] Could not transfer metadata com.***.msg:msg:1.6-SNAPSHOT/maven-metadata.xml from/to nexus-deploy (https://artifactory.***.net/artifactory/msg-snapshot-local): Not authorized
Есть ли способ, которым я могу сказать maven, что он должен рассмотреть это так же, как если бы он не мог быть найден? Или есть другой подход, который работает без ручного вмешательства - я попытался добавить снимок через графический интерфейс, но он не будет работать с конвейером автоматической сборки.