java.lang.ClassNotFoundException 这是怎么回事?

2024-12-12 14:48:35
推荐回答(5个)
回答1:

路径错误,代码输错了,CLASSPATH后面应该有“./路径”

java.lang.ClassNotFoundException这种提示出现后只要在环境变量里的系统变量里CLASSPATH加上./当前路径就可以了,这种情况一般是路径设置不对,或者类名写错了、包名写错了。

NotFoundException意思是JRE在自己知道的路径里没找到用橘盯颂户要的类,如果不用IDE的话,就好好检查一下classpath有没有加上“.”也就是当前目录,或者执行的位置是不是指向了class文件所在的路径。

JAVA常圆郑见错误

NoClassDefFoundError是则春error,继承java.lang.Error继承,ClassNotFoundException来自Exception,是检查异常。

如通过反射Class.forName()ClassLoader.loadClass,找不到类就会ClassNotFoundException。现在通过反射已经把该class加载到内存中,再次调用加载该类也会报。

如果一个类编译时存在,在运行时找不到就会报NoClassDefFoundError,一般是编译打包出了问题,比如开发类路径和运行类路径不同。

回答2:

没找到类
一般是 classpath 路径设置不对,或者类名写错了、包搭蚂名写错了
反正是 JRE 在自己知道的路径里没找到你要的类

如果森枝指不用 IDE 的话,你就好好检查一下此配 classpath 有没有加上 “.”也就是当前目录
或者你执行的位置是不是指向了 class 文件所在的路径

回答3:

你描述得不详细。
出现这种错误肯定会说具体是那个类找不到。
看样子你好像是在IDE(计算机语言的集成开发工具)写的代码,但又不能确塌颂源定,因为你通过了IDE的编译,就不会出樱碧现ClassNotFoundException这种错误。你也有可能是在控制台运行的程序。总之就是不知道你是在什么情况下出现的这种错误。这么说吧:
一团态、如果你在IDE里运行程序,你应当导入相应的jar包
二、如果你是在控制台运行,则应当将相应的jar文件加入到classpath中,也就是javac -classpath 你的jar包名.jar 要编译的类文件名

回答4:

个人已发现的有2种情况:
1、少引用(导包)jar包了。
2、引用毁辩路径写错了,或少写纤亩缺了。(重点关注配置文件与java代码里对耐码用的部分)
注:控制台报java.lang.ClassNotFoundException,浏览器报500错误。

回答5:

我发现包用中文名也会发生这个问题