Java出现ClassNotFoundException原因

Posted 大浪不惊涛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java出现ClassNotFoundException原因相关的知识,希望对你有一定的参考价值。

 

ClassNotFoundException 意思就是找不到指定的class。 

遇到的场景:
1、调用class的forName方法时,找不到指定的类
2、ClassLoader 中的 findSystemClass() 方法时,找不到指定的类
3、ClassLoader 中的 loadClass() 方法时,找不到指定的类

package test;

public class test {
     public static void main(String[] args) {
          try {
               Class.forName("test666.hello");
          } catch (ClassNotFoundException e) {
               e.printStackTrace();
          }
     }
}

解决办法:
检查类名是否正确、或是否存在该类。

补充:NoClassDefFoundError
常见的场景就是:
1、类依赖的class或者jar不存在
2、类文件存在,但是存在不同的域中
3、大小写问题,javac编译的时候是无视大小的,很有可能你编译出来的class文件就与想要的不一样!这个没有做验证。

以上是关于Java出现ClassNotFoundException原因的主要内容,如果未能解决你的问题,请参考以下文章

java序列化与反序列化流的操作,打印流的输出

android 库项目中的方法引用过多 - ClassNotFoundException

我的MYSQL老是出现乱码,在java写的poj里改成中文也会出现乱码!这怎么改?

java出现这样的错误?

请教各位 java 线程池 出现异常的问题! 问题如下: 为啥会出现异常??

java 取list集合中出现次数最多的值