使用 Maven 部署插件 (maven-deploy-plugin) 部署构件到 Artifactory 时,发生了权限错误(401 Unauthorized):Failed to execute goal :maven-deploy-plugin:2.7:deploy (default-deploy) on project view-common: Failed to deploy artifacts: Could not transfer artifact :view-common:jar:1.1.3-20240702.024051-1 from/to snapshots (/libs-snapshots-local): Transfer failed for /libs-snapshots-local/com/jd/ad/view-common/1.1.3-SNAPSHOT/view-common-1.1.3-20240702. 401 Unauthorized -> [Help 1]
这个错误信息表明,在使用 Maven 部署插件 (maven-deploy-plugin
) 部署构件到 Artifactory 时,发生了权限错误(401 Unauthorized)。这意味着你的 Maven 没有正确的凭据来访问 Artifactory 仓库。
以下是解决这个问题的一些步骤:
1. 检查
确保你的 Maven 文件中包含正确的服务器凭据。这个文件通常位于你的 Maven 安装目录的
conf
目录下,或者在用户的 .m2
目录下。添加或更新 servers
元素,确保包含正确的 Artifactory 仓库凭据。
<settings>
<servers>
<server>
<id>snapshots</id>
<username>your-username</username>
<password>your-password</password>
</server>
</servers>
</settings>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
确保 <id>
元素的值与你在 中定义的仓库 ID 匹配。
2. 检查
确保你的 文件中正确配置了仓库信息。
<distributionManagement>
<snapshotRepository>
<id>snapshots</id>
<url>/libs-snapshots-local</url>
</snapshotRepository>
</distributionManagement>
- 1
- 2
- 3
- 4
- 5
- 6
3. 验证凭据
确保你提供的用户名和密码是正确的,并且有权限访问和部署到指定的 Artifactory 仓库。
4. 检查网络和防火墙
确保你的网络环境允许访问 Artifactory 服务器,并且没有防火墙或代理阻止请求。
5. 更新 Maven 插件版本
有时,使用较新的 Maven 部署插件版本可以解决一些兼容性问题。确保你的 中使用的是最新版本的
maven-deploy-plugin
。
<plugin>
<groupId></groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version> <!-- 或者最新版本 -->
</plugin>
- 1
- 2
- 3
- 4
- 5
6. 检查 Artifactory 配置
确保 Artifactory 服务器上的仓库配置正确,并且允许从你的 IP 地址进行部署。
7. 测试凭据
你可以通过直接使用 curl 或 wget 测试你的凭据是否正确。例如:
curl -u your-username:your-password /libs-snapshots-local/com/jd/ad/view-common/1.1.3-SNAPSHOT/
- 1
如果返回 401 Unauthorized,说明凭据有问题。
8. 清理和重试
有时,Maven 的本地缓存可能导致问题。你可以尝试清理本地仓库,然后重新构建和部署。
mvn clean install
mvn deploy
- 1
- 2
通过这些步骤,你应该能够找到并解决 401 Unauthorized 错误,成功部署你的构件到 Artifactory。