使用 Artiacory 生成的 maven 设置我可以运行mvn deploy,构建完成,并且工件成功部署。
能够将公钥上传到 Artifactory(请参阅:https : ~/.m2/settings.xml//jfrog.com/article/ssh/ ),我希望用私钥/密码对替换生成的用户名/密码(请参阅:https ://maven.apache.org/settings.html#Servers)。
不幸的是,从用户名/密码切换到私钥/密码,我收到以下“未授权”错误:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project my-project: Failed to retrieve remote metadata com.test:my-project:1.0-SNAPSHOT/maven-metadata.xml: Could not transfer metadata com.test:my-project:1.0-SNAPSHOT/maven-metadata.xml from/to my-artifactory (https://na.artifactory.xxxx.com:443/artifactory/my-artifactory-local): Not authorized -> [Help 1]
Run Code Online (Sandbox Code Playgroud)
Artifactory 是否支持来自 Maven 的私钥/密码验证?或者,是否可以使用用户名/密码(可能是 API 密钥?)以外的其他内容来允许 Maven 进行身份验证?
我不知道如何让公钥身份验证与 Artifactory 和 Maven 一起使用,但至少在 Artifactory 6.15.1 中,您可以为您的帐户使用 Artifactory API 密钥而不是密码。在 Artifactory Web UI 中,单击您的登录名打开您的个人资料,输入当前密码以解锁您的个人资料,然后复制 API 密钥并将其粘贴到<servers>Maven 部分settings.xml,替换以下示例中的 ARTIFACTORY_USERNAME 和 ARTIFACTORY_API_KEY:
<servers>
<server>
<id>central</id>
<username>ARTIFACTORY_USERNAME</username>
<password>ARTIFACTORY_API_KEY</password>
</server>
<server>
<id>snapshots</id>
<username>ARTIFACTORY_USERNAME</username>
<password>ARTIFACTORY_API_KEY</password>
</server>
</servers>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2373 次 |
| 最近记录: |