cmd中运行java程序总是出现Exception in thread "main" java.lang.NoClassDefFoundError,怎么办?
这是我的程序:importjava.awt.*;publicclassCenterPanel{publicstaticvoidmain(String[]args){new...
这是我的程序:
import java.awt.*;
public class CenterPanel {
public static void main (String[]args) {
new MyFrame("MyFrame with CenterPanel",300,300,400,300);
}
}
class MyFrame extends Frame {
private Panel p;
MyFrame (String s,int x,int y,int w,int h){
super(s);
setLayout(null);
p = new Panel (null);
p.setBounds(w/4,h/4,w/2,h/2);
p.setBackground(Color.YELLOW);
add (p);
setBounds(x,y,w,h);
setVisible(true);
}
}
我所有编译通过的程序运行都会遇到这种情况,这个程序只是其中一个,我的classpath是指向我存储class的路径,path是指向jdk中bin的路径,请各位大侠帮我解答下,O(∩_∩)O谢谢! 展开
import java.awt.*;
public class CenterPanel {
public static void main (String[]args) {
new MyFrame("MyFrame with CenterPanel",300,300,400,300);
}
}
class MyFrame extends Frame {
private Panel p;
MyFrame (String s,int x,int y,int w,int h){
super(s);
setLayout(null);
p = new Panel (null);
p.setBounds(w/4,h/4,w/2,h/2);
p.setBackground(Color.YELLOW);
add (p);
setBounds(x,y,w,h);
setVisible(true);
}
}
我所有编译通过的程序运行都会遇到这种情况,这个程序只是其中一个,我的classpath是指向我存储class的路径,path是指向jdk中bin的路径,请各位大侠帮我解答下,O(∩_∩)O谢谢! 展开
6个回答
展开全部
这个错误就是找不到你定义的MyFrame 这个类。
建议你再说详细点。你在什么目录下执行的 java 命令? 你的.class 文件放在什么位置?你的classpath 环境变量指向那里?
建议:
1 。classpath 中配置 包含当前目录 原有的 变量后追加“;.”然后在 到存放.class文件的目录下 执行 java CenterPanel
2。确定 classpath 中包含你的 .class文件(两个文件 CenterPanel.class 和 MyFrame .class)
第一种我试过了可以执行。
或者 也可以 这么执行 java -classpath E:/workspace/testhand/test (就是你的两个class文件所在的目录) CenterPanel 这个我我也试过了 可以执行
如果这个还不行 那就看看你的classpath 配的是不是有问题吧。可能找不到 其他的类了。
或者 如果你用的事 jdk 1.5 或者以上版本 那么 直接删掉 classpath 环境变量(1.5 以后可以自动寻找类路径) 再执行 java -classpath E:/workspace/testhand/test (就是你的两个class文件所在的目录) CenterPanel
建议你再说详细点。你在什么目录下执行的 java 命令? 你的.class 文件放在什么位置?你的classpath 环境变量指向那里?
建议:
1 。classpath 中配置 包含当前目录 原有的 变量后追加“;.”然后在 到存放.class文件的目录下 执行 java CenterPanel
2。确定 classpath 中包含你的 .class文件(两个文件 CenterPanel.class 和 MyFrame .class)
第一种我试过了可以执行。
或者 也可以 这么执行 java -classpath E:/workspace/testhand/test (就是你的两个class文件所在的目录) CenterPanel 这个我我也试过了 可以执行
如果这个还不行 那就看看你的classpath 配的是不是有问题吧。可能找不到 其他的类了。
或者 如果你用的事 jdk 1.5 或者以上版本 那么 直接删掉 classpath 环境变量(1.5 以后可以自动寻找类路径) 再执行 java -classpath E:/workspace/testhand/test (就是你的两个class文件所在的目录) CenterPanel
展开全部
java.lang包没有发现类,发现错误,没有找到main(主)方法的入口。
建议不用命令行的方法调用JAVA程序了,这种方法适合刚入门的初学者。
用eclipse平台吧。里面有错误提示和修改方案。
最好是用英文版吧,中文版有的翻译有点问题。
我在我的eclipse上试过了,运行没有问题。应该是你的eclipse出现了问题,我以前有过这种情况。你可以再装一个新的eclipse,现在最新的应该是eclipse helios吧。
还有建议以后不用缺省包。
加包名有利于以后有大程序的时候很好的利用public,protected,default,private这些功能。
建议不用命令行的方法调用JAVA程序了,这种方法适合刚入门的初学者。
用eclipse平台吧。里面有错误提示和修改方案。
最好是用英文版吧,中文版有的翻译有点问题。
我在我的eclipse上试过了,运行没有问题。应该是你的eclipse出现了问题,我以前有过这种情况。你可以再装一个新的eclipse,现在最新的应该是eclipse helios吧。
还有建议以后不用缺省包。
加包名有利于以后有大程序的时候很好的利用public,protected,default,private这些功能。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 包名写错了,没有找到这个类文件
2 没有编译JAVA文件 找不到java文件对应的CLASS文件
2 没有编译JAVA文件 找不到java文件对应的CLASS文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
环境变量配置,在最后要加分号哈~不然容易引起这个问题~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询