cmd中运行java程序总是出现Exception in thread "main" java.lang.NoClassDefFoundError,怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cmd中运行java程序总是出现Exception in thread "main" java.lang.NoClassDefFoundError,怎么办?相关的知识,希望对你有一定的参考价值。

这是我的程序:
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谢谢!

你把classpaht路径前面再加一个“.;”(不包括双引号,里面是英文点后面双引号用于与后面的其它路径隔开)表示当前目录再试试。 参考技术A 可以执行啊。应该是设置出了问题。
你的classpath是这样吗:“C:\Program Files\Java\jdk1.6.0_14\bin; ”???
参考技术B 楼上正解,这一个小小的分号,是很重要的~ 参考技术C 这个错误就是找不到你定义的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 以后可以自动寻找类路径)

以上是关于cmd中运行java程序总是出现Exception in thread "main" java.lang.NoClassDefFoundError,怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

Exception in thread "main" java.lang.NoClassDefFoundError

浅谈java异常[Exception]

Java异常(Exception)

Java 异常

Java 异常

在 Eclipse 中运行的 Java 程序导致 EXCEPTION_ACCESS_VIOLATION (0xc0000005)