程序错了,你运行一下这个package myprojects.test;import java.awt.*;
import java.awt.event.*;class Test extends Frame {

public Test() {
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
} public static void main(String args[]) {
System.out.println("Starting Test...");
Test mainFrame = new Test();
mainFrame.setSize(400, 400);
mainFrame.setTitle("Test");
mainFrame.setVisible(true);
}
}文件名:Test.java

解决方案 »

  1.   

    要。
    假定你的jdk1.3.1安装在如下路径:C:\jdk1.3.1
    1、在我的电脑--〉属性--〉高级--〉环境变量,新建用户变量,classpath
    值为:C:\jdk1.3.1\lib\tools.jar;.;
    新建用户变量path,值为:%Path%;C:\jdk1.3.1\bin
    2、对于java来说,我们要将其他编程语言的观念彻底转变过来,要记住java虚拟机运行的永远是类(在java中全部都是类),所以当你在命令行:
    java xxxx
    时,其实它是执行名字为xxxx的这个类,而并不是xxxx.class这个文件,这和C/c++以及其他语言所完全不同的。所以,当java虚拟机不能找到xxxx这个类(包括它引用的其他类)时(java自动在你所设定的类搜索路径里搜索,类搜索路径在系统classpath里设置,但是你永远也无法确定和涵盖你在这个系统里面可能产生的所有类搜索路径),它就会报告错误:Exception in thread "main" java.lang.NoClassDefFoundError: d:\j2sdk\helloworld/class
    此时,你可以用如下办法来解决:
    假设你的java程序编译成功并放在 /tmp目录下,文件名为:helloworld.class
    (注意大小写,并且假设你没有自定义包)
    java -classpath /tmp  helloworld如果你自定义了包,假设是package myjava,并且位于/tmp下,类文件名还是同上:
    java -classpath /tmp  myjava.helloworld这是最简单的情况,如果此程序中还引用了大量的其他分布在各个不同位置和包的类则需要另外考虑。但是这种原因根本上就是找不到类定义的明确表现。