nexus配置禁止匿名访问后,maven导入依赖报错401问题解决方案
问题说明
这个问题具体是,公司的nexus私服因为安全策略配置了禁止匿名访问,本地maven配置了所有依赖都只从私服下载,但是下载依赖时报错401。
Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources (default-resources) on project gjd-common-core: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:3.1.0:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:3.1.0 or one of its dependencies could not be resolved: Could not transfer artifact commons-io:commons-io:jar:2.5 from/to sq_group (http://localhost:8081/repository/sq_group/): Authentication failed for http://localhost:8081/repository/sq_group/commons-io/commons-io/2.5/commons-io-2.5.jar 401 Unauthorized
解决方案
解决方案其实很简单,就是在maven的配置中增加 server 配置,且server的id与mirror的id必须是一致的。
server如下:
<servers><server><id>local_group</id><username>nexus用户名</username><password>nexus密码</password></server></servers>
注意这里的id,这个id就是整个的关键。
再看下镜像配置(注意镜像的id):
<mirrors><mirror><id>local_group</id><mirrorOf>*</mirrorOf><name>local_group</name><url>http://localhost:8081/repository/sq_group/</url></mirror></mirrors>
只有server的id与mirror的id相同,在访问私服的时候才会带上账户信息,这样就不会报错401了。
如果只是下载的话,我们都不需要在配置其他的东西,这样就行。
很多公司部署都是通过同意流水线去部署,所有一般不会把有部署权限的账户放给开发,所以我这边也没配置部署相关的配置。
心路历程
对于这个问题,我真的是真真真的大无语,这个问题困扰了我两天,我在度娘上疯狂搜索,csdn上努力寻找解决这个问题的文章,结果遇到的都是什么开启nexus的匿名访问,配置 repository 把 repository的id 和server 的 id 保持一致,还有很多答非所问,讲的都是部署的时候报错401的。
欸,心累,但是我也来解析他们的解决方案吧。
分析下扯淡方案
扯淡方案1 ----开启匿名访问的权限
就是以管理员身份登录nexus,然后找到设置匿名访问的菜单,将匿名访问勾选就行,如下:
他母亲的,气的我图都标错了,算了不改了,大家应该都能看懂步骤(就是没有第三步了),虽然这算是最快的解决方案了,但是我觉的他们都在扯淡,有没有管理员账号暂且不说,公司指定的安全策略岂能是我们打工人想改就改的?
所以这个方案基本就pass(网上大部分都是这样的)。
扯淡方案2----配置 repositories
配置如下(server的id和respository的id要一致):
<servers><server><id>local_group</id><username>nexus账号</username><password>nexus密码</password></server></servers><profiles><profile><repositories><repository><id>local_group</id><url>nexus地址</url><snapshots><enabled>true</enabled></snapshots></repository></repositories></profile></profiles>
其实这个方案也不算太扯淡,至少这个是可以实现从私服中获取依赖包,但是这是有前提的,就是不是所有依赖都从私服下载(因为maven默认有一个中央仓库),只有所有配置的镜像中找不到指定的依赖包时才会去私服中下载。
所以这个方法并不适用用所有依赖都需要从私服中下载的需求。
扯淡方案3----配置 distributionManagement
第三种就是这种让配置 distributionManagement如下:
这个方案我没有试过,但是我搜索了maven的distributionManagement这个配置是用来给发布的,如果有朋友试了这个方案的话,麻烦评论下或私信,也让我有个了解,后面也可以完善本篇文章。
致看到本篇文章的朋友们
朋友们,网上教程众多,大家在参考别人文章的同时也要加入自己的思考,不能完全相信文章中的话,当然我的文章也是如此,如果有疑问或者觉的本文有不对的地方,麻烦联系我,我会尽快修订。
正所谓
书无疑者,须教有疑,有疑者却要无疑,到这里方是上进
大家阅读文章的时候一定要小心!!!
nexus配置禁止匿名访问后,maven导入依赖报错401问题解决方案相关推荐
- VsCode配置Python开发环境后运行代码会报错“无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1”
问题描述:在VsCode中配置Python开发环境后运行代码会报错"无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1&quo ...
- idea中maven导入依赖报红的解决办法(版本不一致)
使用idea创建maven项目,maven导入依赖报红 查看maven的安装和配置有没有问题.maven的安装位置.maven的setting.xml中的配置以及maven的环境变量配置. 一般都是s ...
- 解决雷神SpringBoot2中导入依赖报错的问题
1.导入spring-boot-starter-parent依赖报错的问题 <parent><groupId>org.springframework.boot</grou ...
- blender用插件导入pmx转fbx后,导入ue4报错:动画不包含根轨迹/根骨骼——解决办法:命名问题
这是一个很抽象但又难发现的问题,先说结论,pmx文件命名不能用"文件命_xxx.pmx"的方式命名,即后缀的"_xxx"中的下划线不能用,blender会识别不 ...
- idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?
1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...
- android studio 导入依赖报错——Could not find com.xxx,(# fields: 66338 > 65536)
替换项目build.gradle即可 buildscript {repositories {maven{url 'https://maven.aliyun.com/repository/google' ...
- idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效
报错如图: 网上有很多类似解决方案,思路一般都是– 1,检查idae关于maven的配置.请参考,配置内容如下: 2,检查setting.xml文件是否配置阿里镜像仓库, 3,已经拉取的jar包删除后 ...
- mac系统升级后npm安装依赖报错gyp: No Xcode or CLT version detected
mac更新系统后,npm安装依赖包报错如下: gyp: No Xcode or CLT version detected 原因: 缺少了XCODE的CLI(command-line tools )工具 ...
- .NET网站本机调试通过、发布后EXCEL导入数据库报错问题的解决
近期做了一个EXCEL导入数据库的页面,在VS2012本机调试中导入XLS\XLSX均顺利通过,但在WEB环境下导入时均出错! 在网上查了相关资料,最有可能的原因是 DCOM 中EXCEL应用程序权限 ...
最新文章
- Xamarin Essentials教程打开文件
- python课程将主要介绍哪些内容-熊学堂 · 人工智能 | 课程介绍
- 网易云信牵手有道乐读,解密「终身阅读者」背后的技术力量
- 【转载】Could not create the view: An unexpected exception was thrown.问题解决
- 《移动项目实践》实验报告——Android高级控件
- php 反射原理,PHP反射机制详解
- pandas 读表格_pandas电子表格的读取(pandas中的read_excel)
- new Class{}形式
- 网络工程 IP地址与子网掩码
- 面向对象13:单元测试方法、包装类的使用、包装类面试题
- 挑战性题目DSCT101:硬币找换问题
- 2021华为软件精英挑战赛总结
- java代码定义窗口_代码窗口九种方式实现 javascripts 弹出对话框窗口代码
- 考研-高等数学(数学一)目录整理
- python谐音梗_谐音梗生成器
- 【dubbo异常处理】Fail to decode request due to: RpcInvocation
- 【比赛游记】NOI2019打铁记
- java获取项目所在服务器的ip地址和端口号(获取当前ip地址)
- windows server 2016 由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。
- 众外媒评析苹果2022秋季新品发布会:说服客户升级iPhone至关重要
热门文章
- 【JavaScript 教程】第六章 数组06— slice() :复制数组元素
- 如何学习数据结构与算法
- 新手入门编程视频教程(友讯IT社区)
- [PPT 设置自动换片时间] PPT有几张老自动跳过,问题的解决过程记录
- 抖音快速热门增涨粉丝评论点赞作品数据维护解决方案
- LabVIEW倒立摆二维动态仿真
- 计算机结构化思维学计算机,3岁学编程,原来可以从结构化程序设计思维开始(二)...
- “一把手工程” 意义何在――ERP应用随想
- 台式计算机开机黑屏,台式电脑开机后出现黑屏,按f2后才能开机
- 机器学习实战教程(二):决策树基础篇之让我们从相亲说起