添加本地jar包到maven仓库报401和405错误

本文主要讲述Maven提交JAR包时遇到的报错问题及解决办法。401报错是因提交JAR使用的ID在server中未写对应用户名和密码,需在Maven的setting文件中配置。405报错是因向proxy类型的Nexus仓库deploy导致,应使用hosted类型的仓库地址。

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

401报错是一个认证失败的错误,这个是因为我提交jar使用id在server中没有写对应的用户名和密码
在把jar提交的公共仓库的时候需要注意几个问题
公共仓库的用户名密码需要在maven的setting文件中

<server>
	    <id>thirdparty</id>
	    <username>admin</username>
	    <password>admin</password>
</server>

thirdpart不一定是库名,这里只是一个id
但是这个thirdpart的id名一定要与提交的DrepositoryId的名字是一致的

mvn deploy:deploy-file -DgroupId=com.allinpay.cloud -DartifactId=bcprov-jdk16 -Dversion=1.46 -Dpackaging=jar -Dfile=C:\java\top-sdk-java-1.0.1-lib\lib\bcprov-jdk16-1.46.jar -Durl=http://192.168.1.23:8081/repository/maven-releases/ -DrepositoryId=thirdparty

通过修改这个我的401报错就没有了,
但是我提交的时候又报了405的错误,这个错误我在网上查了好多篇文章说是url写错了,有一个文章写的说这个不是url写错了,是因为url填写的库名不正确导致的,其实都是url错误,后者给出的答案更详细一点,前边大多数给出的答案非常容易让人以为是url里边部分写错了
后者这样描述了一段原因:
maven私服上传包报错:Return code is: 405, ReasonPhrase: PUT
原因:
向proxy类型的nexus仓库进行deploy就会出现405错误。网上说了很多405是因为仓库url拼错,根本就是错误的,405这个http状态码是在方法层面的校验,和你url对不对没关系。
解决办法:
deploy我们的jar包,应该使用hosted类型的nexus仓库。

他说的就是下面这张图片的类型,不能往其他类型的仓库上添加jar包
在这里插入图片描述

更换为hosted的仓库地址就可以了。
大家可以参考一下几篇文章:
https://blog.csdn.net/sj1231984/article/details/83753400
https://blog.csdn.net/weixin_33965305/article/details/92499994
https://blog.csdn.net/weixin_33965305/article/details/92499994
https://blog.csdn.net/gisam/article/details/111316195

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

枣泥馅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值