2014-09-24 3 views
3

Я работаю с Archiva в течение приблизительно года теперь,Почему я не могу загрузить артефакт в archiva (неавторизованный), но я могу загрузить его с помощью администратора?

закачать свои банки вручную через Archiva GUI, и это работает прекрасно.

Теперь я хочу загрузить артефакт с развертыванием maven, проблема в том, что я получаю 401-Несанкционированный. не имеет значения, что:

1.) Я могу без проблем загрузить из этого репозитория.

2.) Я использую пользователя admin.

3.) Я могу загрузить с помощью этого пользователя вручную.

это журнал, который я получаю:

[com:apinterface.parent] Downloading: http://xx.xx.xx.xx:9080/archiva/repository/snapshots/com/apinterface.parent/1.0-SNAPSHOT/maven-metadata.xml 

[11:43:39][Step 1/3] [INFO] ------------------------------------------------------------------------ 
[11:43:39][Step 1/3] [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project apinterface.parent: Failed to deploy artifacts: Could not transfer artifact com:apinterface.parent:pom:1.0-20140924.084338-1 from/to snapshots (http://xx.xx.xx.xx:9080/archiva/repository/snapshots): Failed to transfer file: http://xx.xx.xx.xx:9080/archiva/repository/snapshots/com/apinterface.parent/1.0-SNAPSHOT/apinterface.parent-1.0-20140924.084338-1.pom. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1] 

ответ

6

Это должно быть, потому что вы не настроили Maven использовать Archiva Имя пользователя/пароль для загрузки артефактов на этапе развертывания.

Предполагаете, что вы уже настроили раздел distributionManagement в вашем файле pom.

<distributionManagement> 
    <snapshotRepository> 
     <id>snapshots</id> 
     <name>Internal Snapshots</name> 
     <url>http://xx.xx.xx.xx:9080/archiva/repository/snapshots/</url> 
    </snapshotRepository> 
    <repository> 
     <id>releases</id> 
     <name>Internal Releases</name> 
     <url>http://xx.xx.xx.xx:9080/archiva/repository/releases</url> 
    </repository> 
</distributionManagement> 

Вы должны иметь серверы с сопоставления идентификаторов в файле настройки Maven (как в примере ниже), чтобы настроить имя пользователя/пароль, который специалист должен использовать при загрузке (развертывание) артефакты

<settings> 
    <servers> 
    <server> 
     <id>snapshots</id> 
     <username>archiva-user</username> 
     <password>archiva-pwd</password> 
    </server> 
    <server> 
     <id>releases</id> 
     <username>archiva-user</username> 
     <password>archiva-pwd</password> 
    </server> 
    </servers> 
</settings> 
+0

В в моем случае я поставил «archiva.snapshots» в качестве идентификатора, который отличается от идентификатора репозитория на странице администрирования archiva. Это должно быть точно так же. –

Смежные вопросы