IDEA Class爆红编译不通过但还是正常运行,查找调用链发现不正常(该显示的没显示)

本文讲述了在长期使用IDEA过程中遇到的问题,如类编译错误提示但可运行、Cucumber测试跳转问题以及方法引用不准确。作者指出这些问题可能源于索引不准确,解决方法是清理IDEA缓存,操作步骤包括File->InvalidateCaches。
摘要由CSDN通过智能技术生成

IDEA是好工具,用久之后也会发现它各种各样的毛病。其中一个毛病就是:

1、类爆红,提示编译不通过,但是能正常打包,能正常启动
2、自动化测试Cucumber,无法从feature文件跳转到定义
3、搜某个方法被哪个方法调用,列出了a、b方法,实际有a、b、c 3个地方引用,也就是结果不正确,会务导入

出现上述的一些问题,可能是索引有点不正确吧?总之需要清除IDEA缓存,上述的3类问题我都经历过都能在清理缓存后解决。

清理缓存的方法:File -> Invalidate Caches… (有些版本的idea可能描述上有点不一样)
在这里插入图片描述

当你尝试使用`javac`编译后的`.class`文件运行 Java 应用程序时,如果遇到“无法找到或无法加载主”错误,可能是以下几个原因: 1. **拼写或路径错误**:检查你的主名是否与指定的名一致,并确保.class文件所在的目录结构与`main`函数中的`Class.forName()`或`java.lang.ClassLoader.getResource()`所指的路径匹配。 ```java public class Main { public static void main(String[] args) { try { Class<?> clazz = Class.forName("YourMainClass"); // 或者通过ClassLoader ClassLoader loader = Thread.currentThread().getContextClassLoader(); clazz = loader.loadClass("YourMainClass"); // 然后实例化并运行 } catch (ClassNotFoundException e) { System.out.println("无法找到主"); } } } ``` 2. **缺少启动**:确保你的程序有一个公共无参构造器,因为`main`方法会自动调用这个构造器。如果有,你需要显式地提供它。 3. **文件权限问题**:检查文件及目录是否有适当的读取权限。特别是如果你在非根目录下运行`java`命令,可能会有权限限制。 4. **classpath设置**:`java`命令需要知道如何找到你的。如果你在命令行中有明确指定`-cp`或`CLASSPATH`,那么系统默认的路径可能不足以找到你的。 5. **IDE环境配置**:如果是使用集成开发环境(IDE),如Eclipse或IntelliJ IDEA,确认你的项目设置了正确的路径或者运行配置。 解决这问题,你可以逐一排查上述原因,也可以查看具体的错误信息,它通常会给出更详细的提示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值