彻底解决Maven依赖爆红(依赖不能被解析识别)问题亲测有效

问题描述

在开发中有一些问题是很头痛的,jar包依赖就是其中之一,个别jar包依赖我们无论怎么刷新项目,重启编译器,删除jar包通过Maven重新下载依赖都不能解决。
如下图就是典型的依赖不能被识别: 点击刷新,重新下载依赖都没用,依赖始终不能被识别
在这里插入图片描述
在这里插入图片描述
前往本地仓库(默认在:C:\Users\cm.m2\repository目录下面)查看依赖包,发现是有的:
删除后继续下载同样如此
在这里插入图片描述

问题分析

这个问题也困扰了我许久,因为我的依赖包本地明明是有的,但是Maven就是不能解析识别,我删除后继续刷新,依然是这样。
然后我就想到了对比一下可以正常识别的版本和不能识别的版本的依赖:
在这里插入图片描述
不难看出,可以被识别的依赖和不能被识别的依赖包还是有所不同的,首先jar包名字就不同,然后就是有pom文件,依赖不能被Maven解析应该就是jar包不完整的问题吧,然后就是为什么会出现这种问题呢?(我不懂,就暂且归结为网络问题吧!,网络不稳定,或者我们中途停止了jar包的下载导致下载的包不完整),删除jar包后在项目中重新下载为什么也会这样呢?(我的认知依然只能归结于网络,多次刷新依然这样,可能就不是网络问题了,如果有知道原因的大神欢迎留言指教

解决方案

对于以上这种问题,肯定有解决方案的,不可能因为一两个jar包没有下载直接就把项目都给重构或者停止了。经验丰富的开发者肯定有一套精准快速解决这类问题的方法,本人看了无数篇博客,依然没有找到好使的方法。在不断的探索下,我使用了一个比较笨拙的方法:

1. 直接在Maven中央仓库搜索我们需要的jar包Maven中央仓库
如我的不能被Maven识别的jar包:thymeleaf-extras-java8time
在这里插入图片描述
在这里插入图片描述
2. 点击需要的jar包名称进入版本库
在这里插入图片描述
3. 点击对应版本的包进入如下界面点击View All(英语不好,应该是预览所有之类的意思,点一下)
在这里插入图片描述
在这里插入图片描述

  1. 进入一个有很多链接的界面
    在这里插入图片描述

  2. 下载ZIP文件
    在这里插入图片描述

  3. 下载ZIP文件解压
    在这里插入图片描述
    这个目录里面包含了相关jar包的使用说明以及它的jar包
    在这里插入图片描述

  4. 将本地仓库的旧的不能识别的jar包清空
    在这里插入图片描述

  5. 将解压后的dist目录下面的jar包全部拷贝到本地仓库对应目录
    在这里插入图片描述
    在这里插入图片描述

  6. 重启Idea开发工具(一定要重启,一定要重启
    最后我们的问题得以解决,jar包可以被识别了,爆红消失了在这里插入图片描述

总结

Maven依赖不能被识别,爆红什么的就是没有包,或者包不完整。在依赖版本定格,不允许或者不能切换其它版本的情况下,我们可以通过这样一种复杂但是有效的方法解决这类问题。如果大佬有更好的解决这种问题的方式,欢迎留言指教。

当我们在使用Maven管理项目的依赖时,有时候会遇到依赖爆红的情况。通常情况下,maven依赖爆红是因为以下几个原因: 1. 依赖版本不兼容:可能是项目中的其他依赖与该依赖版本不兼容,导致编译错误。解决方法是检查依赖之间的版本冲突,可以调整依赖的版本或者直接排除掉引起冲突的依赖。 2. 依赖未完全下载:有时候Maven仓库中的依赖包下载不完全或者损坏,会导致编译错误。解决方法是清除本地的Maven仓库缓存,然后重新下载依赖。 3. 依赖缺失:有时候Maven依赖没有正确声明或者没有在仓库中找到,会导致编译错误。解决方法是检查依赖声明是否正确,或者手动将依赖安装到本地Maven仓库。 4. Maven中央仓库连接问题:有时候Maven中央仓库的连接出现问题,导致依赖无法下载。解决方法是检查网络连接是否正常,或者更换其他可用的仓库源。 5. 缺少依赖范围声明:有时候依赖没有正确声明依赖范围,导致编译错误。解决方法是添加正确的依赖范围声明,确保依赖在编译、运行或测试等不同环境中的正确引用。 在解决依赖爆红问题时,我们可以通过查看Maven的编译日志和错误提示来定位问题,并逐个排查可能的原因。最重要的是了解项目中使用的依赖关系,合理管理依赖的版本和范围,以确保项目的稳定性和正确性。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xjitcm

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

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

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

打赏作者

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

抵扣说明:

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

余额充值