idea为啥加载不到类

idea为啥加载不到类

多次遇到这个问题,: 
情况一: 
idea本身缓存的问题:file–>invalidate Cache/restart–>选择invalidate就好; 

idea为啥加载不到类

 

 因为我经常会去classes文件,删除编译后的文件,然后修改原代码文件。导致缓存的可能有问题或者冲突。

 如果上面完成后重新执行发现依然找不到主类,你就需要rebuild project

idea为啥加载不到类

 

 

情况二: 
查看structure→modules,其中会包含很多的main,删除掉就行。

idea为啥加载不到类

 

情况三:maven dependcy scope为 provided,,继承外部依赖的抽象类

IDEA在使用maven时可能会出现找不到类的情况,

这边直接说结论:maven dependcy scope为 provided时,继承外部依赖的抽象类,如 idea为啥加载不到类 class Udf1 extend UDF {}

idea为啥加载不到类

 

 

此时加载外部类会出问题,但并不是报ClassNotFound,而是此阶段在类初始化早期,

而scope 为provided,也即在project structure 的dependencies 中,被标记为provied的包,在运行时不会有classpath,

这就导致类加载时链接外部类失败,但是控制台只会简单报出“找不到或无法加载”。

(下图为印证自己想法后去掉了provided,重新sync后的结果)

idea为啥加载不到类

 

如果scope 为provided ,则在classpath中不会包含该项的jar包。

 idea为啥加载不到类

当然你可能会注意到奇怪的现象,就是,此时在test文件夹中的类是不会受影响的。

这也是maven scope的定义之一。

今天的文章
idea为啥加载不到类分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/124576.html

(0)
编程小号编程小号
上一篇 2024-08-24 18:17
下一篇 2024-08-24

相关推荐