IntelliJ IDEA中Java项目编译时出现奇怪NoClassDefFoundError异常求助
解决编译时出现
TObjectIntHishMap的NoClassDefFoundError问题 可能的原因
- 依赖包损坏或版本冲突:项目依赖的Trove库可能损坏,或是某个第三方依赖里错误引用了拼写错误的
TObjectIntHishMap类,编译时触发了这个错误引用。 - 深层编译缓存残留:常规清理项目没清除干净IDE或构建工具的深层缓存,残留了错误的类引用信息。
- 注解处理器/代码生成工具问题:如果用了注解处理器、代码生成插件(比如Lombok、MapStruct),这类工具生成的代码里可能包含这个拼写错误的类引用。
具体解决步骤
强制清理所有缓存
- Maven项目执行:
mvn clean install -U-U参数会强制更新依赖快照,同时彻底清理本地仓库缓存文件。 - Gradle项目执行:
该命令会清理构建缓存并重新拉取所有依赖。./gradlew clean build --refresh-dependencies - 手动清理IDE缓存:比如IntelliJ IDEA可通过
File -> Invalidate Caches... -> Invalidate and Restart操作,彻底清除IDE本地缓存。
- Maven项目执行:
检查依赖树定位错误来源
- Maven项目执行:
mvn dependency:tree - Gradle项目执行:
遍历依赖树输出,查找是否有第三方依赖包含./gradlew dependenciesTObjectIntHishMap的错误引用。找到后尝试排除该依赖或更换版本。
- Maven项目执行:
检查自动生成的代码
- 查看项目自动生成代码目录(如
target/generated-sources或build/generated),搜索是否存在TObjectIntHishMap的拼写错误。若有,检查对应注解处理器配置,更新工具版本或调整注解参数。
- 查看项目自动生成代码目录(如
重新下载依赖库
- 手动删除本地Maven/Gradle仓库中Trove相关包(比如
gnu/trove路径下的文件),再重新执行构建命令,让工具重新下载完整依赖包。
- 手动删除本地Maven/Gradle仓库中Trove相关包(比如
内容的提问来源于stack exchange,提问作者ammcom
相关产品推荐
相关产品推荐

