我的环境变量设置是:
Path        C:\Program Files\Java\j2sdk1.5.0\bin;java_home   C:\Program Files\Java\j2sdk1.5.0classpath   .;C:\Program Files\Java\j2sdk1.5.0\lib\tools.jar;C:\Program Files\Java\j2sdk1.5.0\lib\dt.jar;在我编好一个小源程序hello.java之后,生成hello.class文件是没问题
就是在运行hello.class文件时 会出现以下提示 :
Exception in thread "main" java.lang.NoClassDefFoundError: hello调试程序为:
//hello.java
public class hello{
   puclic static void main(String args[]){
           System.out.println("Hello!");
   }
}j2sdk1.5.0安装了好几遍了,路径设置是也检查了不下二十次了,问题依旧!烦!!!
此前也是用j2sdk1.5.0的,编译运行均正常,用了快半年了,因为在”正确的方法“下编译不了package文件,尝试重装j2sdk1.5.0后,就出现这些问题了。
大虾们求救啊!烦了一天了

解决方案 »

  1.   

    楼主的java_home设了怎么不用啊
    path直接%java_home%\bin;不就可以了
      

  2.   

    楼主,你的public写错了,是笔误还是什么啊?
      

  3.   

    to believefym(feng) 
    你提到的,应该不是问题所在吧,因为之前我也是按我现在这个设置的,一切正常
      

  4.   

    在我的环境变量设置中,Path和classpath还有一些别的环境变量,例如tomcat的和系统的,不过,以前也有啊,以前一切正常,现在重装重设后就不行了
      

  5.   

    配置没有问题。用命令行运行看看呢?
    可能是你的jvm有问题。
      

  6.   

    to zhouwen() 
    运行了,不行啊,从昨晚试到现在,又是重装,又是配置,又是调试
    jvm问题应该怎么处理呢?请问
      

  7.   

    我以前出现这个问题是把classpath光保留了“.”,其他的都删除了。不知道能不能试下哈。呵呵。新手。请见谅
      

  8.   

    是你的jdk设置有问题.于你的程序无关.
      

  9.   

    to starchange(星变_浙江教育学院) 
    照你说的去做了,还是不行
      

  10.   

    把分给我算了.
    在hell.java目录下
    javac -classpath . hello.java
    java -classpath . hello.that's ok !!!!!!!!!!!
      

  11.   

    to okdavinci(达芬奇dacinci) 
    用你的方法运行成功
    但是,以前我在设置环境变量的情况下,不是用java -classpath . hello.来运行,而是用java hello来运行的
    我现在需要知道的是怎么样才能做到用java hello来运行也成功的啊
    给分不是问题,呵呵!还是谢谢你先
      

  12.   

    楼上的,去掉classpath不行啊
    从昨晚试到现在了,重装它后,不知道为什么不行了
      

  13.   

    只设置一个path。其他的都不要设置
      

  14.   

    to okdavinci(达芬奇dacinci)
    并且,你的方法好像只有在安装目录下才行啊,在别的目录下好像不行
      

  15.   

    程序运行的时候,主类没有找到。所以会报出Exception inthread "main" java.lang.NoClassDefFoundError: hello。只要指定运行时的主类为已经生成的hello.class。就不会出现上述问题了。
      

  16.   

    to tiangi() 
    照你说的去试过了,不行啊
      

  17.   

    to jason51zy()
    我明白你说的。
    但是,以前,我在配置以上的环境变量的情况下,用 javac 来编译,用java来运行是可以成功的,并且,在我的电脑上任一个目录下也行的
      

  18.   

    to tiangi() 
    当然是在文件所在的目录下编译的啦
    看来重装系统算了,弄到烦了
    谢谢你的热情关注啊!
      

  19.   

    你看一下你的当前目录有没有一个hello.class的文件?
      

  20.   

    你的classpath有问题,
    classpath应该指向你的HelloWorld.class文件所在的目录,
    你可以在命令行中进入你的HelloWorld.class文件所在目录,
    然后set classpath=.
    设置为当前目录就行了,
    或者你可以在系统中直接给classpath加上(HelloWorld.class文件的目录)
      

  21.   

    to interhanchi(路曼曼其修远兮,吾将上下而求索.)
    有hello.class啊
    to format_jade(至尊玉)
    但是,之前我是这样设置的啊,在硬盘上的任意目录都可以编译和运行
      

  22.   

    那既然有hello.class那就在当前目录 运行java hello
      

  23.   

    我觉得路径不要放在C:\Program Files,把JDK1。5放在C盘目录下设置,这样更方面不容易出错
      

  24.   

    还有就是CLASSPATH的设置,是根椐你源代码文件存放的路径来设置,比如,你的HELLO.class是存在D盘那你就把CLASSPATH设置D盘
      

  25.   

    我觉得搂主 的配置没问题,,不过我也的确遇到过同样的配置在不同机器上好使或不好使的情况。这个问题我现在也没整明白,呵呵。按理说在classpath里加了.号后应该在任何目录下都只用java filename 就行的
      

  26.   

    是classpath的问题,你看看你的Environment Variables的设置,如果在User Variables for XXX 里面也设置有CLASSPATH变量,那么在最后必须有分号。再检查一下System variables 里面的CLASSPATH里面是否正确设置了java的class路径。
      

  27.   

    问题解决了,谢谢大家对此贴的热情关注!
    我卸载了电脑上的WebLogic8.1和有关的JAVA软件后,再配置环境,就可以用的了,在电脑上的任何目录下都可以编译和运行了.可能是被我卸载的软件与J2SDK有冲突的吧,我也搞不懂!
    今天还尝试重装了系统呢
    真是惨啊!!!