• 关于Cannot resolve xxx的解决办法


    有时候,我们明明没做其它什么配置,只是升级了某些依赖软件的版本,但是当我们下载依赖的时候,会出现Cannot resolve xxx的情况,即本地没有找到对应版本的依赖包。

    常规解决办法如下:

    1)检查idea设置里面的maven设置,查看相关maven的配置路径是否正确。

    2)清除缓存并重启idea

    很多时候重启可以解决一大部分问题

    3)刷新pom文件

    我遇到的问题用上面方案都不能解决,我的问题是:

    pom文件升级了某个开源软件,但是在reload项目的时候会报Cannot resolve 该软件,然后我本地查看maven仓库,发现确实是没有该新版本的软件包,只有老版本软件包的路径,当时第一反应是不是我的settings.xml有问题,然后询问同事拿了他们的settings.xml文件,结果还是无济于事。

    又捣鼓了好久,比如将依赖删除之后再加上,最后再reload项目也是不行。

    解决办法

    最终实在想不过,打开了我平时写测试代码的工程,在该工程里面加入有问题的这个依赖,最后reload了一下,发现就没有问题了,然后再去本地maven仓库看了一下,确实有了新版本软件包的路径。

    然后回到原来的项目工程,再重新reload了一下也是没有问题了。

    所以就有点莫名其妙的感觉,居然会出现本项目不能下载,另一个项目能下载依赖的情况

    原因分析:

    然后我仔细想了想,觉得那应该是我本项目做了其它设置,最后通过查阅资料得知,我居然将本项目maven的脱机模式打开了,这个按钮在idea右边的maven里面,在m的右边(不方便放图),叫做Toggle Offline Mode。

    脱机模式:只能加载本地已有的依赖,如果本地仓库没有这个版本的依赖,那就自然会出现Cannot resolve xxx的现象。解决办法就是取消这个脱机模式,也就是点灭这个按钮。

    至于为什么我当初会点亮这个按钮(打开脱机模式),也是因为我之前看了某篇文章,说是这样会缩短我们启动idea的时间,因为我们在启动idea的时候会去加载当前项目的配置,会很费时,所以当处于脱机模式的时候,在启动idea的时候就会省去一些不必要的配置加载,会提高效率。

    事实证明,这个模式并没有节约我的时间...我保证以后不偷懒了。。。

    最后附加一个大家经常遇到的证书问题,也就是我们需要添加忽略SSL检查的配置。需要在两个地方添加配置,一是在Maven的VM Options中添加如下配置:

    -Dmaven.wagon.http.ssl.insecure= true -Dmaven.wagon.http.ssl.allowall=true

    二是在Runner的VM Options中添加如下配置:

    -Dmaven.wagon.http.ssl.insecure= true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.variety.dates=true

     

     

     

     

     

     

  • 相关阅读:
    想了解Python中的super 函数么
    [附源码]Python计算机毕业设计高校创新学分申报管理系统
    基于R语言piecewiseSEM结构方程模型在生态环境领域实践技术
    北京大学肖臻老师《区块链技术与应用》公开课笔记:以太坊原理(二):GHOST、挖矿算法、难度调整、权益证明
    实现一个博客系统(前端页面设计)
    解锁编程潜能:探索亚马逊CodeWhisperer,打造编程世界的声音引导者
    【UNIX网络编程】|【06】基本UDP套接字编程【数据报丢失、性能、流量控制....】
    【数据挖掘】关联规则挖掘
    上传代码到GitHub仓库
    ShareSDK 第三方平台分享参数说明
  • 原文地址:https://blog.csdn.net/NoviceZ/article/details/127922495