JFrog Artifactory在部署时不会请求用户/密码

时间:2016-11-08 11:44:34

标签: maven artifactory maven-deploy-plugin

我们已使用Google Cloud点击部署来设置Artifactory。

我添加了settings.xml文件:

<servers>
  <server>
    <username>deployer</username>
    <password>hello</password>
    <id>company-central</id>
  </server>
</servers>

我已将以下内容添加到pom.xml中:

<distributionManagement>
    <repository>
        <id>company-central</id>
        <name>company-central</name>
        <url>http://ourURL/artifactory/libs-release-local</url>
    </repository>
</distributionManagement>

当我运行 mvn deploy 时,我收到以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project auth0test:
Failed to deploy artifacts: ... Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]

查看神器日志,请求以匿名方式发送:

2016-11-08 11:40:49,035 [DENIED DEPLOY] libs-release-local:/auth0test-1.0.jar for anonymous /.

没有后续请求与&#39;部署者&#39;进行身份验证。用户。 Artifactory已禁用匿名访问,并且匿名用户已删除其所有权限。

从命令行强制凭据时,这可以:

mvn deploy:deploy-file 
-Durl=http://deployer:hello@ourURL/artifactory/libs-release-local 
-DpomFile=pom.xml 
-DrepositoryId=company-central 
-Dfile=target/auth0test-1.0.jar

这是Artifactory或Maven的错误吗?

由于

1 个答案:

答案 0 :(得分:0)

Maven的第一个请求确实是匿名的,这是出于安全原因而做的常见做法 - 如果不需要,则不会将您的凭据透露给服务器。

此时,Artifactory会识别出这是一个匿名请求,并且没有足够的权限,因此返回401状态。

收到401后,Maven应响应挑战并使用适当的凭据重新发送请求。这是我认为不能正常工作的步骤 使用调试信息运行Maven可能会显示更多详细信息。