文章目录

  • 问题场景
  • 问题环境
  • 问题原因
  • 解决方案
  • 结果
  • 总结
  • 参考链接
  • 吐槽
  • 随缘求赞

问题场景

公司的原仓库出了问题,需要更换新的仓库。故给了一个新的仓库地址。但是奇葩的是,更换之后,就出问题了。比如原本有A-0.0.1-SNAPSHOT.jar,在私服上面也有这个版本的jar包,但是就是没办法找到,一直提示该jar的该版本找不到。

问题环境

软件 版本
maven 3.2.3
IntelliJ IDEA 2019.1

问题原因

接下来就是探索发现之旅了。

  1. 因为是更新了setting文件,所以怀疑是没有选对文件。在 ideasetting上面搜索maven,查看相关的选项,看到是选对了settings.xml。这个尝试失败;
  2. 因为是使用idea,所以怀疑是不是工具没有更新依赖,于是我将整个项目的 maven依赖重新导入,即reimport。很遗憾,没有解决问题;
  3. 因为之前有遇到一个奇葩的问题,怎么reimport都失败,而使用ideamaven插件的compile命令,反而触发了依赖下载。所以,我点击了compile,很遗憾,也不行;
  4. 怀疑是idea关于maven的配置有问题,比如在maven的编辑页面,不小心或者其他因素导致Work offline被勾选上了,那就导致依赖只会从本地找,而不是从私服找。打开一看,我的配置很正常。哎,这一步也尝试失败。
  5. 这个时候,有点怀疑是不是远程仓库是不是没有这个jar包,所以登录公司的私服,到对应的地址找。诶,这个版本下面怎么有这么多以时间戳命名的包,难道我还得以特定的时间戳版本下载吗?这个不科学,要知道这个版本是开发版本,是会随时更新的。所以这是什么回事呢???

到这里,我们就说到正题了,这个就涉及maven的高级配置了。在实际开发过程中,我们经常会遇到版本依赖的场景。比如服务A依赖服务B,而服务B处于开发阶段。假如服务B的当前版本是1.0,而服务A指定依赖了服务B的版本1.0。过了一段时间,服务B发现了bug,并进行修复了,所以升级为2.0。这样,服务A就得同时将服务B的版本升级为2.0,不然就可能出现问题。如果一直持续下去,我相信开发人员都会想吐血的。所以,这个时候就得引入mavenSnapshot版本机制。在开发过程中,服务B指定了对应的Snapshot版本,比如0.0.1-Snapshot,而服务A进行依赖B的时候就指定其Snapshot版本。服务B每次迭代更新的时候,发布到私服仓库的时候,都会形成带有时间戳命名的Snapshot版本,而服务A在构建的时候,都会下载服务B带有最新时间戳Snapshot版本。这样,问题就得到了完美解决。比如下图就是服务B带有时间戳Snapshot版本截图。

解决方案

在项目的pom.xml文件,里面加上这些配置:

<repositories><repository><id>maven-releases</id><name>maven-releases</name><url>http://test.com:2000/repository/maven/</url><releases><enabled>true</enabled></releases><snapshots><enabled>true</enabled></snapshots></repository></repositories>

结果

项目依赖顺利下载下来了,项目编译也没有问题了。看到项目pom.xml文件没有标红的时候,十分开心 ٩(๑❛ᴗ❛๑)۶

总结

开发过程中,总是会遇到各种问题。即使解决了,也得找到问题解决的原因。知其然才能有技术沉淀,当然也得记录下来。不然下次遇到相同的问题,也会忘记的 (๑╹◡╹)ノ"""

参考链接

Maven: working with multiple repositories

Maven Settings

Maven: introduction to repositories

吐槽

CSDN的博客系统让我遇到一个bug,写的时候,右边的预览图没有变化,我以为是js没有生效,也没有怎么理。写了一阵子,点击了保存草稿,然后退出。重新打开的时候,竟然后面没有预览出来的文字都不见了 ╮(╯﹏╰)╭ 那一刻,真是想投诉CSDN的开发人员 ̄へ ̄!!!所以,下次遇到这种情况,得先把文章都复制出来放到其他文档备份,然后重新打开。这个也是给其他博主踩雷了(^_−)☆

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以左上角点击关注

问题解决:尝试解决maven依赖找不到的n种姿势相关推荐

  1. 什么是Maven依赖冲突,如何解决Maven依赖冲突

    在解决冲突之前首先我们要知道什么是依赖冲突,这样可以更好的去锁定bug原因.下面通过一个代码示例来真正展示出依赖冲突. 目录 依赖冲突代码演示 1.添加依赖 2.观察依赖的层次结构 3.运行项目jra ...

  2. Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题)

    Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) 参考文章: (1)Linux安装gcc时碰到的有关问题解决(解决gcc依赖有关问题) (2)https://www.cnblogs. ...

  3. 最简单解决maven依赖报红 | 不用执行maven命令

    大部分解决maven依赖报红的方式都是下载jar然后执行mvn命令,下面我分享一个简单的方法 首先看到报红的内容 然后去maven官网下载对应的jar包 然后放到自己本地的maven仓库 新建一个与j ...

  4. 又出现依赖冲突?试试 IDEA 解决 Maven 依赖冲突的高能神器!

    以下文章来源方志朋的博客,回复"666"获面试宝典 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的.Maven的依赖机制会导致Jar包的冲突.举个 ...

  5. 是时候装逼了,试试 IDEA 解决 Maven 依赖冲突的高能神器!

    点击关注公众号,Java干货及时送达 来源 | segmentfault.com/a/1190000017542396 1.何为依赖冲突 Maven是个很好用的依赖管理工具,但是再好的东西也不是完美的 ...

  6. 解决Maven依赖冲突的好帮手,这款IDEA插件了解一下?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:桔子214032 segmentfault.com/ ...

  7. 解决 Maven 依赖冲突的好帮手,必须了解一下!

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:桔子214032 sf.com/a/119000001754 ...

  8. 解决Maven依赖冲突的好帮手,必须了解一下!

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 桔子214032 来源 | http://su ...

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

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

最新文章

  1. 《机器学习》、《算法数据结构》、《LeetCode原创题解》开放下载!
  2. [HTML]增加input标签的multiple属性上传的文件数
  3. 循环神经网络:RNN、LSTM、GRU、BPTT
  4. spring mvc 初步接触学习笔记
  5. VTK+MFC 系列教程 非常强大
  6. php 计时器microtime 以及去掉数组重复值array_unique
  7. idea中Gitlab项目导入导出
  8. MacOS 下如何创建文本文件
  9. shell 提取sql 的字段名表名_SQL代码风格规范
  10. 输入班级人数,根据人数,挨个输入成绩,求平均分,求最高分最低分
  11. 太大如何翻页固定表头_外行学 Python 爬虫 第六篇 动态翻页
  12. kafka 心跳参数
  13. 狂野!利用Fastjson注入Spring内存马~
  14. 计算机可行性分析报告,计算机可行性分析报告范文.docx
  15. educoder考试可以切屏吗_线上考试真的好多人作弊吗?
  16. windows10系统修改c盘Users目录中的中文名称
  17. Nexus的安装和应用
  18. matlab菜鸡学习日志--------使用matlab解析NMEA-0183 协议获取经纬度以及航向角
  19. Apache服务器报错信息,端口号等原因
  20. 【050】Free Video Clips-高质量视频素材

热门文章

  1. 04刘笑维-05刘洪雨-实训一
  2. C#,图像二值化(12)——基于谷底最小值的全局阈值算法(Valley-Minium Thresholding)与源代码
  3. 【前端词典】分享 8 个有趣且实用的 API
  4. 事务与隔离级别------《Designing Data-Intensive Applications》读书笔记10
  5. 大连理工计算机专业课考几门,大连理工大学计算机专业考研科目及研究方向
  6. 安装hadoop1.2集群环境
  7. 统计中的p-value检验
  8. 易灵思FPGA--Programming Mode
  9. Hadoop格式化后出现异常
  10. 安卓小人html制作,告白小人在线制作