Win10下Intellij创建Spring Boot项目启动报ClassNotFoundException错误
问题根因
报错核心为java.lang.ClassNotFoundException: org.springframework.context.index.CandidateComponentsIndexLoader,该类是Spring Framework 5.0版本才新增的类,而你使用的Spring Boot 1.3.5.RELEASE内置依赖的Spring Framework版本为4.x,版本不兼容导致类加载失败。
相同项目在老师设备上可正常运行,说明项目本身依赖配置无问题,问题出在本地依赖缓存、IDEA项目依赖解析逻辑异常。
解决方案
按以下顺序操作即可解决:
- 清理IDEA缓存并重启
打开IDEA顶部菜单选择File → Invalidate Caches...,勾选所有清理选项后点击Invalidate and Restart,等待IDEA重启完成后重新加载项目 - 清理本地Maven缓存并重新拉取依赖
进入项目根目录(包含pom.xml的文件夹),在终端执行以下命令:
命令执行完成后重新启动项目mvn clean install -U - 校验IDEA的Maven配置一致性
打开File → Settings → Build,Execution,Deployment → Build Tools → Maven,确认以下配置和你老师设备的配置完全一致:- Maven主目录(Maven home path)
- 用户配置文件(User settings file)路径
- 本地仓库(Local repository)路径
避免IDEA内置Maven和老师使用的Maven版本差异导致依赖拉取异常
- 强制指定spring-context版本(可选)
若上述操作均无效,可在pom.xml的<dependencies>节点中手动添加和Spring Boot 1.3.5版本匹配的spring-context依赖:<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>4.2.6.RELEASE</version> </dependency>
内容的提问来源于stack exchange,提问作者Floziko
相关产品推荐
相关产品推荐

