2016-10-30 46 views
0

我试图在我的本地计算机上安装artifactory来管理我所有的项目罐子。 我设置了artifactory,因此它有两个用户:admin和user,不允许匿名登录。 这里是我的settings.xml:Maven验证错误Artifactory

<?xml version="1.0" encoding="UTF-8"?> 
<settings> 
<servers> 
    <server> 
     <id>central</id> 
     <username>user</username> 
     <password>{encrypted-pssw}</password> 
    </server> 
    <server> 
     <id>snapshot</id> 
     <username>user</username> 
     <password>{encrypted-pssw}</password> 
    </server> 
</servers> 
<mirrors> 
    <mirror> 
     <mirrorOf>*</mirrorOf> 
     <name>remote-repos</name> 
     <url>http://localhost:8081/artifactory/remote-repos</url> 
     <id>remote-repos</id> 
    </mirror> 
</mirrors> 
<profiles> 
    <profile> 
     <id>central</id> 
     <repositories> 
      <repository> 
       <id>artifactory</id> 
       <url>http://localhost:8081/artifactory/repo</url> 
       <layout>default</layout> 
       <name>Artifactory default repo</name> 
      </repository> 
     </repositories> 
    </profile> 
</profiles> 
<activeProfiles> 
    <activeProfile>central</activeProfile> 
</activeProfiles> 

“{加密pssw}” 是从artifactory的加密(MVN -ep)的加密密码获得的passord。 当我尝试安装(“MVN全新安装”)或部署(“MVN部署”)每一个项目它给了我这个错误:

Could not transfer artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to remote-repos (http://localhost:8081/artifactory/remote-repos): Not authorized , ReasonPhrase: Unauthorized. -> [Help 1] 

我tryied RSA认证过没有任何成功

编辑:更多信息:

如果我尝试使用存储库中的broswer登录,它会询问用户名和密码,如果我将它们(使用来自artifactory的加密密码)它允许我查看存储库。

如果我使用url:http://user:[email protected]:8081它工作和maven可以登录,但我需要做很多肮脏的工作,复制我的密码在项目上,如果我使用此解决方法(注意:URL中使用的密码是一个我从加密密码字段获得Artifactory的,而不是双重加密一个我从maven的命令得到)

+0

以下手段的问题该用户是否有权限将其部署到远程存储库,而不是查看。这是两种不同的权限,您可以验证并更新吗? – Ariel

+0

是的,用户拥有所有权限:如果我使用ip方法(user:pssw @ ip:port)登录,它可以部署 – SnowyCoder

+0

在收到 后,您是否可以显示artifactory.log中显示的错误'无法传输artifact org.apache.maven.plugins:maven-clean-plugin:pom:2.5 from/to remote-repos(http:// localhost:8081/artifactory/remote-repos):未经授权,ReasonPhrase:未经授权。 - > [Help 1] ' 错误? – Ariel

回答

0

这可能是由于以下原因:

  1. 你可以检查如果此用户对在“remote-repos”虚拟存储库下正在聚合的远程存储库具有部署权限?如果不是,您应该授予用户部署权限到构建解决方案所需的远程存储库。如果您不确定您可以尝试使用管理员用户并查看它是否有效。

  2. 检查是否在您的Artifactory用户界面 - >管理 - >安全配置 - >“隐藏存在未授权资源”是否勾选此复选框?如果是这样的话,你需要在maven上定义“抢先认证”(应该在你的settings.xml文件中定义),请参阅谷歌中有关如何添加它的内容。该加密的口令是在settings.xml文件正确写入?

希望这会帮助您找到问题的根源并解决它。

+0

更新了问题 – SnowyCoder