#http #maven-3 #archiva
#http #maven-3 #archiva
Вопрос:
Я развертываю файл jar в репозиторий maven (archiva)
pom.xml :
<distributionManagement>
<repository>
<id>archiva.internal</id>
<uniqueVersion>false</uniqueVersion>
<name>Internal Release Repository</name>
<url>http://server:8080/archiva/repository/internal</url>
</repository>
<snapshotRepository>
<id>archiva.snapshots</id>
<uniqueVersion>false</uniqueVersion>
<name>Internal Snapshot Repository</name>
<url>http://server:8080/archiva/repository/internal/snapshots</url>
</snapshotRepository>
</distributionManagement>
settings.xml:
<servers>
<server>
<id>archiva.internal</id>
<username>user</username>
<password>password</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>archiva.snapshots</id>
<username>user</username>
<password>password</password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
Первое развертывание maven прошло успешно,
Uploading: http://server:8080/archiva/repository/internal/com/test/maven-metadata.xml
Uploaded: http://server:8080/archiva/repository/internal/com/test/maven-metadata.xml (306 B at 2.4 KB/sec)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9.843s
[INFO] Finished at: Mon Nov 07 17:09:49 EST 2011
[INFO] Final Memory: 5M/11M
Если я попытаюсь повторно развернуть тот же артефакт, я получаю:
Failed to transfer file: http://server:8080/archiva/repository/internal/com/test.jar. Return code is: 409 -> [Help 1]
Возможно ли повторно развернуть тот же артефакт с той же версией, или мне нужно вручную удалить артефакт из архива перед повторным развертыванием?
Ответ №1:
Как администратор, перейдите на страницу репозиториев и отредактируйте управляемый репозиторий internal
— там вы можете снять флажок Блокировать повторное развертывание выпущенных артефактов.
Однако я бы не рекомендовал это в целом. Как только что-то есть, его можно загрузить. После загрузки он может быть кэширован Maven. Если вы измените его, вы не будете знать, что «настоящая» версия используется повсеместно.
Номера версий дешевы — лучше использовать новый.
Комментарии:
1. Боюсь, на самом деле это не решение, Бретт. Это всего лишь обходной путь. В любом случае, спасибо.
2. можете ли вы уточнить, @mschonaker? 409 — это функция при повторном развертывании существующего артефакта — единственный способ предотвратить это — отключить функцию или удалить / повторно добавить, как сказано в оригинальном постере. В любом случае я не рекомендую этого, а вместо этого предлагаю развернуть с новым номером версии.
3. Вы не интересуетесь причиной проблемы, и ваше решение основано на предположении. Сегодня я обнаружил, что 409 был сброшен из-за прав доступа к файлам.