本文主要是介绍添加本地jar包到maven仓库报401和405错误,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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
这篇关于添加本地jar包到maven仓库报401和405错误的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!