问题说明

这个问题具体是,公司的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问题解决方案相关推荐

  1. VsCode配置Python开发环境后运行代码会报错“无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1”

    问题描述:在VsCode中配置Python开发环境后运行代码会报错"无法加载文件 D:\Code\xxx\poetry-demo\.venv\Scripts\Activate.ps1&quo ...

  2. idea中maven导入依赖报红的解决办法(版本不一致)

    使用idea创建maven项目,maven导入依赖报红 查看maven的安装和配置有没有问题.maven的安装位置.maven的setting.xml中的配置以及maven的环境变量配置. 一般都是s ...

  3. 解决雷神SpringBoot2中导入依赖报错的问题

    1.导入spring-boot-starter-parent依赖报错的问题 <parent><groupId>org.springframework.boot</grou ...

  4. blender用插件导入pmx转fbx后,导入ue4报错:动画不包含根轨迹/根骨骼——解决办法:命名问题

    这是一个很抽象但又难发现的问题,先说结论,pmx文件命名不能用"文件命_xxx.pmx"的方式命名,即后缀的"_xxx"中的下划线不能用,blender会识别不 ...

  5. idea导入maven项目依赖报错_解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突. 举个例子,现在你的项目中,使用了两个Jar包,分别是A和B.现在A需要依赖 ...

  6. android studio 导入依赖报错——Could not find com.xxx,(# fields: 66338 > 65536)

    替换项目build.gradle即可 buildscript {repositories {maven{url 'https://maven.aliyun.com/repository/google' ...

  7. idea无法识别java文件、Maven下载依赖报错:Cannot resolve...或者Could not find artifact...实测有效

    报错如图: 网上有很多类似解决方案,思路一般都是– 1,检查idae关于maven的配置.请参考,配置内容如下: 2,检查setting.xml文件是否配置阿里镜像仓库, 3,已经拉取的jar包删除后 ...

  8. mac系统升级后npm安装依赖报错gyp: No Xcode or CLT version detected

    mac更新系统后,npm安装依赖包报错如下: gyp: No Xcode or CLT version detected 原因: 缺少了XCODE的CLI(command-line tools )工具 ...

  9. .NET网站本机调试通过、发布后EXCEL导入数据库报错问题的解决

    近期做了一个EXCEL导入数据库的页面,在VS2012本机调试中导入XLS\XLSX均顺利通过,但在WEB环境下导入时均出错! 在网上查了相关资料,最有可能的原因是 DCOM 中EXCEL应用程序权限 ...

最新文章

  1. Xamarin Essentials教程打开文件
  2. python课程将主要介绍哪些内容-熊学堂 · 人工智能 | 课程介绍
  3. 网易云信牵手有道乐读,解密「终身阅读者」背后的技术力量
  4. 【转载】Could not create the view: An unexpected exception was thrown.问题解决
  5. 《移动项目实践》实验报告——Android高级控件
  6. php 反射原理,PHP反射机制详解
  7. pandas 读表格_pandas电子表格的读取(pandas中的read_excel)
  8. new Class{}形式
  9. 网络工程 IP地址与子网掩码
  10. 面向对象13:单元测试方法、包装类的使用、包装类面试题
  11. 挑战性题目DSCT101:硬币找换问题
  12. 2021华为软件精英挑战赛总结
  13. java代码定义窗口_代码窗口九种方式实现 javascripts 弹出对话框窗口代码
  14. 考研-高等数学(数学一)目录整理
  15. python谐音梗_谐音梗生成器
  16. 【dubbo异常处理】Fail to decode request due to: RpcInvocation
  17. 【比赛游记】NOI2019打铁记
  18. java获取项目所在服务器的ip地址和端口号(获取当前ip地址)
  19. windows server 2016 由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系。
  20. 众外媒评析苹果2022秋季新品发布会:说服客户升级iPhone至关重要

热门文章

  1. 【JavaScript 教程】第六章 数组06— slice() :复制数组元素
  2. 如何学习数据结构与算法
  3. 新手入门编程视频教程(友讯IT社区)
  4. [PPT 设置自动换片时间] PPT有几张老自动跳过,问题的解决过程记录
  5. 抖音快速热门增涨粉丝评论点赞作品数据维护解决方案
  6. LabVIEW倒立摆二维动态仿真
  7. 计算机结构化思维学计算机,3岁学编程,原来可以从结构化程序设计思维开始(二)...
  8. “一把手工程” 意义何在――ERP应用随想
  9. 台式计算机开机黑屏,台式电脑开机后出现黑屏,按f2后才能开机
  10. 机器学习实战教程(二):决策树基础篇之让我们从相亲说起