idea中重新加载所有maven项目失败,但maven compile成功

遇到的问题:

使用maven的compile命令项目能够正确编译,也能够正常启动,但是用重新加载所有maven项目时,就会提示某些jar包不存在。

同步所有Maven项目:仅同步 IDEA 的索引和依赖关系,快速更新本地缓存(项目依赖了哪些jar文件,不必每次都重新去解析pom.xml)。当只修改了依赖版本号时候时使用。

同步加载所有Maven项目:完全重新解析 pom.xml,重新下载依赖,重建项目结构(相当于重置 Maven 项目状态。当增删了依赖时使用。

使用Maven的compile命令和同步加载所有Maven项目都会去自动下载依赖,两者的区别是什么?

Maven的compile命令只会下载有效依赖,不会去下载那些因为冲突,按照路径最短和声明优先的原则被忽略掉的依赖。而同步加载所有Maven项目会去严格按照pom.xml文件下载jar包,而某些应该被忽略的jar包在maven私服上没有,于是就会抛出异常。

举例说明:

用idea的Maven Helper插件分析依赖,可以看到sentry-client这个依赖被忽略了,因为maven选择了2.3.0这个版本。

当点击同步加载所有Maven项目后,出现下载失败的错误。

当使用maven compile后,无错误出现。

相关推荐
小学鸡!3 小时前
Spring Boot实现日志链路追踪
java·spring boot·后端
xiaogg36783 小时前
阿里云k8s1.33部署yaml和dockerfile配置文件
java·linux·kubernetes
逆光的July3 小时前
Hikari连接池
java
微风粼粼4 小时前
eclipse 导入javaweb项目,以及配置教程(傻瓜式教学)
java·ide·eclipse
番茄Salad4 小时前
Spring Boot临时解决循环依赖注入问题
java·spring boot·spring cloud
天若有情6734 小时前
Spring MVC文件上传与下载全面详解:从原理到实战
java·spring·mvc·springmvc·javaee·multipart
祈祷苍天赐我java之术4 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
Olrookie5 小时前
若依前后端分离版学习笔记(二十)——实现滑块验证码(vue3)
java·前端·笔记·后端·学习·vue·ruoyi
倚栏听风雨6 小时前
java.lang.SecurityException异常
java