JFrog Artifactory 在部署时不请求 user/password

JFrog Artifactory doesn't request user/password when deploying

我们已经使用 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/.

没有后续请求对 'deployer' 用户进行身份验证。 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 的错误?

谢谢

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

此时 Artifactory 确定这是一个匿名请求,并且没有足够的权限,因此 returns 401 状态。

收到 401 时,Maven 应响应质询并使用正确的凭据重新发送请求。这是我认为无法正常工作的步骤。
运行 带有调试信息的 Maven 可能会揭示更多细节。