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后,无错误出现。

相关推荐
天若有情6731 分钟前
打破思维定式!C++参数设计新范式:让结构体替代传统参数列表
java·开发语言·c++
亲爱的非洲野猪7 分钟前
从ReentrantLock到AQS:深入解析Java并发锁的实现哲学
java·开发语言
wheelmouse77889 分钟前
如何设置VSCode打开文件Tab页签换行
java·python
yangminlei11 分钟前
Spring Boot——日志介绍和配置
java·spring boot
廋到被风吹走18 分钟前
【Spring】Spring Boot Starter设计:公司级监控SDK实战指南
java·spring boot·spring
码头整点薯条22 分钟前
启动报错:Invalid value type for attribute ‘factoryBeanObjectType‘ 解决方案
java
沛沛老爹23 分钟前
Web开发者进阶AI:Agent Skills-深度迭代处理架构——从递归函数到智能决策引擎
java·开发语言·人工智能·科技·架构·企业开发·发展趋势
工具罗某人25 分钟前
docker快速部署kafka
java·nginx·docker
秋饼28 分钟前
【手撕 @EnableAsync:揭秘 SpringBoot @Enable 注解的魔法开关】
java·spring boot·后端
Good_Starry31 分钟前
Java——正则表达式
java·开发语言·正则表达式