Использование Maven-3 Got Http 409 при повторном развертывании с помощью архива

Я развертываю файл jar в репозиторий maven (архив)

пом.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>

настройки.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]

Можно ли повторно развернуть тот же артефакт с той же версией или мне нужно вручную удалить артефакт из архива перед повторным развертыванием?


person JavaSheriff    schedule 07.11.2011    source источник


Ответы (1)


Как администратор, перейдите на страницу репозиториев и отредактируйте управляемый репозиторий internal — там вы можете снять флажок Блокировать повторное развертывание выпущенных артефактов.

Тем не менее, я бы не рекомендовал его в целом. Когда что-то есть, это можно скачать. После загрузки Maven может кэшировать его. Если вы измените его, вы не будете знать, что везде используется «настоящий» релиз.

Номера версий дешевые - лучше использовать новый.

person Brett Porter    schedule 08.11.2011
comment
Боюсь, это не совсем решение, Бретт. Это всего лишь обходной путь. В любом случае, спасибо. - person Martín Schonaker; 26.09.2014
comment
можешь пояснить, @mschonaker? 409 — это функция при повторном развертывании существующего артефакта — единственный способ предотвратить это — отключить эту функцию или удалить/повторно добавить, как сказал исходный постер. В любом случае я не рекомендую это, а вместо этого предлагаю развертывание с новым номером версии. - person Brett Porter; 27.09.2014
comment
Вы не исследуете причину проблемы, и ваше решение основано на предположении. Сегодня обнаружил, что 409 выкидывается из-за прав доступа к файлам. - person Martín Schonaker; 29.09.2014