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

importjavax.microedition.midlet.MIDlet;importjavax.microedition.midlet.MIDletStateCha... import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.microedition.lcdui.*;

public class HelloWorldMidlet extends MIDlet {
//TextBox类对应文本框,用于控制文本的输入,并显示输入
public TextBox textbox;

public HelloWorldMidlet() {
// TODO Auto-generated constructor stub
super();
}

protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
//新建一个名为"测试程序"的文本框,文本框内默认输入"Hello World"
textbox=new TextBox("测试程序","Hello World!",20,0);
//调用自己写的MyAdd接口
MyAdd();
}

protected void pauseApp() {
// TODO Auto-generated method stub

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub

}
//自己加入的新接口
public void MyAdd(){
//将textbox设为屏幕当前现实的对象
Display.getDisplay(this).setCurrent(textbox);
}
}

代码是照着书上写的,一运行就说java.lang.ClassNotFoundException 我一开始以为是环境没有配置,然后把环境变量配置了,可是还是报错,这可怎么办呀?
那位高手给我指点一下阿,谢谢了~
展开
 我来答
帐号已注销
高能答主

2021-06-04 · 世界很大,慢慢探索
知道小有建树答主
回答量:724
采纳率:100%
帮助的人:25.7万
展开全部

路径错误,代码输错了,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,一般是编译打包出了问题,比如开发类路径和运行类路径不同。

mhoudg
推荐于2018-03-14 · TA获得超过1640个赞
知道小有建树答主
回答量:149
采纳率:75%
帮助的人:73.5万
展开全部
没找到类
一般是 classpath 路径设置不对,或者类名写错了、包名写错了
反正是 JRE 在自己知道的路径里没找到你要的类

如果不用 IDE 的话,你就好好检查一下 classpath 有没有加上 “.”也就是当前目录
或者你执行的位置是不是指向了 class 文件所在的路径
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吾六十法开03
2009-07-15
知道答主
回答量:9
采纳率:0%
帮助的人:0
展开全部
你描述得不详细。
出现这种错误肯定会说具体是那个类找不到。
看样子你好像是在IDE(计算机语言的集成开发工具)写的代码,但又不能确定,因为你通过了IDE的编译,就不会出现ClassNotFoundException这种错误。你也有可能是在控制台运行的程序。总之就是不知道你是在什么情况下出现的这种错误。这么说吧:
一、如果你在IDE里运行程序,你应当导入相应的jar包
二、如果你是在控制台运行,则应当将相应的jar文件加入到classpath中,也就是javac -classpath 你的jar包名.jar 要编译的类文件名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夜很美71
2019-01-05 · TA获得超过2500个赞
知道小有建树答主
回答量:347
采纳率:82%
帮助的人:39.6万
展开全部
个人已发现的有2种情况:
1、少引用(导包)jar包了。
2、引用路径写错了,或少写了。(重点关注配置文件与java代码里对用的部分)
注:控制台报java.lang.ClassNotFoundException,浏览器报500错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-12-12
展开全部
我发现包用中文名也会发生这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式