IntelliJ IDEA单元测试跳转关联.class而非.java源码如何解决
解决方案
- 检查模块源码标记与依赖配置
打开File > Project Structure > Modules,确认主代码目录(默认src/main/java)被标记为Sources,测试代码目录(默认src/test/java)被标记为Test Sources。如果是多模块项目,确认测试模块依赖的是主模块的项目依赖,而非编译后的class目录或jar包依赖。 - 排除构建输出目录的索引
打开File > Settings > Build, Execution, Deployment > Build Tools,根据你使用的构建工具(Maven/Gradle)勾选Exclude build directory from project;也可以直接在项目文件视图右键点击target/build输出目录,选择Mark Directory as > Excluded,避免IDEA优先索引构建产物中的class文件。 - 调整调试导航配置
打开File > Settings > Build, Execution, Deployment > Debugger,关闭Show decompiled source when no sources are available选项,避免IDEA找不到源码时直接跳转反编译的class文件。 - 清除缓存并重建索引
点击File > Invalidate Caches...,勾选Clear file system cache and local history后重启IDEA,等待全量索引重建完成后再测试跳转逻辑,索引损坏是此类关联异常的常见诱因。 - 适配构建工具的特殊配置
若使用Gradle构建项目,打开Gradle工具窗口的设置面板,勾选Download sources;多模块项目需确认模块间依赖使用project(':模块名')的形式声明,而非依赖本地编译后的jar包。若代码为注解处理器自动生成,需将生成代码的目录标记为Generated Sources Root。
内容的提问来源于stack exchange,提问作者voldegaur
相关产品推荐
相关产品推荐

