有好几次我编的java程序能够正确生成类文件,输入C:\myjava\java Example后但却出现Exception in thread "main" java.lang.NoClassDefFoundError: Example得不出结果,是因为什么原因造成的,不知道是不是程序代码的问题,请各位有经验的高手指点指点(您的一句话我要弄上一两天),小生感激不尽!
也希望学习java语言的同仁能和我交流,一起进步.QQ:54890757

解决方案 »

  1.   

    和你的packet 有关,也可能和你的环境变量设置有关。
    我估计你属于第一者。
      

  2.   

    Example.java是不是有包结构如果有注意编译时候加上 -d 运行的时候用   java xxx.Example
      

  3.   

    检查packet的设置以及生成类的路径
      

  4.   

    极有可能是你的classpath环境变量设置的不对
      

  5.   

    谢谢各位啦,环境变量设置不会有错,classpath加,;最基本的当然不会丢,至于是不是和packete有关让我先测试一下,希望大家能够提出各种可能的情况,再次谢谢啦
      

  6.   

    既然与packet有关,能不能具体点,怎样解决呢
      

  7.   

    运用的是文本框组件用来弹窗口,涉及到使用接口回调技术设计它的处理事件模式,只用了java.awt包中的TextField类和java.awt.enent中的ActionEvent类
      

  8.   

    把代码贴出来或者如果你的 Example.java中package xxxx; 这样一句 把它注释掉 然后编译运行
      

  9.   

    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    class MyWindow extends Frame implements ActionListener
    {
    TextField text1,text2,text3;
    PoliceMan police;
    MyWindow(String s)
    {
    super(s);
    setLayout(new FlowLayout());
    text1 = new TextField(10);
    text2 = new TextField(10);
    text3 = new TextField(10);
    police = new PoliceMan(this);
    add(text1);
    add(text2);
    add(text3);
    text1.addActionListener(this);
    text3.addActionListener(this);
    text1.addActionListener(police);
    setBounds(100,100,150,150);
    setVisible(true);
    validate();
    }
    public void actionPerformed(ActionEvent e)
    {
    if(e.getSource() == text1)
    {
    int n=0,m=0;
    try{
    n=Integer.parseInt(text1.getText());
    m=n*n;
    text2.setText(n+"的平方是:"+m);
    }
    catch(Exception ee)
    {
    text1.setText("请输入数字字符");
    }
    }
    else if(e.getSource() == text3)
    {
    text1.setText(null);
    text2.setText(null);
    text3.setText(null);
    }
    }
    }
    class PoliceMan implements ActionListener
    {
    MyWindow win = null;
    PoliceMan(MyWindow a)
    {
    win = a;
    }
    public void actionPerformed(ActionEvent e)
    {
    int n =0,m = 0;
    try{
    n=Integer.parseInt(win.text1.getText());
    m = n*n*n;
    win.text3.setText(n+"的立方是:"+m);
    }
    catch(Exception ee)
    {
    win.text1.setText("请输入数字字符");
    } }
    }
    class Example
    {
    public static void main(String[] args) 
    {
    MyWindow win = new MyWindow("窗口");
    }
    }
    请大家帮忙看看
      

  10.   

    java -classpath ./ Example
      

  11.   

    代码没有任何问题,我运行过了,不过我没有配置任何环境变量,只是把Example.java放在/jdk/bin/目录下,这说明肯定是你的classpath出现问题了,重新设置
      

  12.   

    编译的时候要加上jdk/bin 的目录哦
      

  13.   

    public class Example
    {
    public static void main(String[] args) 
    {
    MyWindow win = new MyWindow("窗口");
    }
    }
      

  14.   

    给你一个
    ///////////////////////////////////////import java.awt.*;
    import java.awt.event.*;
    import java.util.*; class MyWindow extends Frame implements ActionListener {
    TextField text1, text2, text3; PoliceMan police; MyWindow(String s) {
    super(s);
    setLayout(new FlowLayout());
    text1 = new TextField(10);
    text2 = new TextField(10);
    text3 = new TextField(10);
    police = new PoliceMan(this);
    add(text1);
    add(text2);
    add(text3);
    text1.addActionListener(this);
    text3.addActionListener(this);
    text1.addActionListener(police);
    setBounds(100, 100, 150, 150);
    setVisible(true);
    validate();
    } public void actionPerformed(ActionEvent e) {
    if (e.getSource() == text1) {
    int n = 0, m = 0;
    try {
    n = Integer.parseInt(text1.getText());
    m = n * n;
    text2.setText(n + "的平方是:" + m);
    } catch (Exception ee) {
    text1.setText("请输入数字字符");
    }
    } else if (e.getSource() == text3) {
    text1.setText(null);
    text2.setText(null);
    text3.setText(null);
    }
    }
    }class PoliceMan implements ActionListener {
    MyWindow win = null; PoliceMan(MyWindow a) {
    win = a;
    } public void actionPerformed(ActionEvent e) {
    int n = 0, m = 0;
    try {
    n = Integer.parseInt(win.text1.getText());
    m = n * n * n;
    win.text3.setText(n + "的立方是:" + m);
    } catch (Exception ee) {
    win.text1.setText("请输入数字字符");
    } }
    }public class Example {
    public static void main(String[] args) {
    MyWindow win = new MyWindow("窗口");
    win.setSize(600, 400);
    }
    }
      

  15.   

    谢谢大家的热情,还要把classpath贴出来吗,不过我觉得很多程序都运行正确了,而且类文件也能够生成,应该没有错吧.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
    .;意思是可以加载应用程序当前目录中的类,我就设置了本地目录下的c:\myjava用来存放源文件,这样是不是有错,如果错了请大家指点,谢谢
      

  16.   

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\rt.jar
    刚才输错了,我的classpath是这样的,有什么错吗,不好意思啦
      

  17.   

    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\jre\lib\rt.jar  
      

  18.   

    环境变量classpath加 .;或者执行java -classpath "." Example
      

  19.   

    楼主用UE写java么?怎么还手写javac编译源代码?
      

  20.   


    在一个文件中有main()方法的类定义为public,其他的类就不能在设public了,可以为其他的访问
    属性!
    改完文件记得再编译一遍javac Example.java
      

  21.   

    出现Exception in thread "main" java.lang.NoClassDefFoundError这个错,是没有main函数,没有它你怎么测试
      

  22.   

    路过..........友情UP......//___________送个笑话____________
    一个年轻力壮的男子来到西药店里,表示要买一种效力强大、保证持久的春药,他向老板解释道:“今天晚上,我要应付两个骚女子,我要表现我的厉害给她们看看。”
      药剂师给了他一些保证有效的药丸,并且建议他最好立刻服用,因为药性要过一段时间才会生效。男子照着做后,回去等他的客人。
      第二天,他狼狈不堪的来到西药店。
      “你看起来好像精疲力尽了。”药剂师微笑的说道。
      “别提了!”男子呻吟道:“给我一点破皮软膏。”
      “擦你的……”
      “擦我的手,她们昨晚都没来!”男子咆哮道。 www.xiaohua007.com
      

  23.   

    程序没有问题,不知道为什么不用JCreator编译哦?可能是你的main函数的那个类用了public吧,把它去掉你再运行下.还有,垃圾代码多了点!∶)
      

  24.   

    你编译和运行的路径必须是程序所在的目录,假如你的程序放在d:\java\中,那么用javac和java命令时,需在d:\java\路径下,你看看对不对