关于maven的deploy操作401的问题处理

当接手组件开发时,如果本地Maven setting配置与他人不同,可能导致deploy操作失败,报401 Unauthorized错误。解决办法是检查并确保pom.xml中的`distributionManagement`部分的repository和setting.xml中的repository配置一致,特别是id字段。保持两者配置相同可避免部署时的权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简单记录一下最近碰到的一次maven的deploy操作发生的报错,场景一般情况在接手组件开发的时候,如果你本地的setting配置与别人的不同,则pom文件中的repository自然与别人的不同,这样你对组件进行修改之后,deploy时必然报错:

Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project time-compute-utils: Failed to deploy artifacts: Could not transfer artifact xxx.xxx:time-compute-utils:jar:0.0.1-20210722.034929-26 from/to snapshots1 (http://artifactory.xxx.com/libs-xxx): Transfer failed for http://artifactory.xxx.com/libs-xxx/com/xxx/xxx/time-compute-utils/0.0.1-SNAPSHOT/time-compute-utils-0.0.1-20210722.034929-26.jar 401 Unauthorized

类似这种报错哈,不是你项目或maven配置有什么错误,问题就在于一些小配置不一样导致的。

需要检查maven的setting配置:

<repository>
					<snapshots />
					<id>snapshots</id>
					<name>libs-xxx</name>
					<url>http://artifactory.xxx.com/libs-xxx</url>
				</repository>

与pom文件中的repository配置:

<distributionManagement>
        <!--repository的id根据自己的maven本地setting配置进行修改,不然会报401错误的-->
        <repository>
            <id>snapshots1</id>
            <name>libs-xxx</name>
            <!--     只能配置成这个,这个是写的,不带local的不能写.。-->
            <url>http://artifactory.xxx.com/libs-xxx</url>
        </repository>
        <snapshotRepository>
            <id>snapshots1</id>
            <name>libs-xxx</name>
            <url>http://artifactory.xxx.com/libs-xxx</url>
        </snapshotRepository>
    </distributionManagement>

这两个配置是否时一致的,比如repository的id不一致,就会出现deploy时401,修改一下id保持一致就可以解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值