windows下:
CLASSPATH设置为:C:\Program Files\Java\jdk1.6.0_05\lib;.;C:\Program Files\Java\jdk1.6.0_05\;C:\Program Files\Java\jdk1.6.0_05\bin;
均出现如下无法找到类的异常:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/class
Caused by: java.lang.ClassNotFoundException:HelloWorld.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)源代码是这样:
public class HelloWorld
{
public static void main (String arg[])
{
System.out.println ("Hello, World!");
}
}
命名为HelloWorld.java 

解决方案 »

  1.   

    classpath 设置的问题哇 
    C:\Program Files\Java\jdk1.6.0_05\bin; 这个应该是path里面的
      

  2.   

    回楼上:
    现在改了 C:\Program Files\Java\jdk1.6.0_05\bin;在path里 但问题依旧
      

  3.   

    你用工具开发?还是文本手写啊?
    若是工具开发的话只需要配置path就可以了
    你也可以不配置classpath
    把写好的程序放到C:\Program Files\Java\jdk1.5.0_06\bin文件夹下
    就可以了编译了
      

  4.   

    这样,肯定是classpath设置的问题
    你在你classpath设置的目录里看看能找见HelloWorld.class吗
      

  5.   

    看提示来说是jvm无法找到你的HelloWorld.class这个类,
    你将这个类的目录也设置成环境变量,你试验一下。
      

  6.   

    我现在把HelloWorld.java文件放进D:\JavaApp\里
    CLASSPATH里加上D:\JavaApp\ 但还不行
      

  7.   

    你编译这个.java文件了吗?生成.class文件了吗?
      

  8.   

    放进D:\JavaApp\里以后你编译的时候怎么编译的
      

  9.   

    把HelloWorld.java文件放进D:\JavaApp\
    命令行转到D:\JavaApp\ javac HelloWorld.java
    然后 D:\JavaApp\ java HelloWorld
      

  10.   

    1, Delete your "CLASSPATH" variable;
    2, Restart Command Prompt.
      

  11.   

    有关环境变量的设置请参看帖子:http://www.java2000.net/viewthread.jsp?tid=386#T2392
    就在这个帖子的7楼。
      

  12.   

    如果是path问题,则不会出现上述异常。
    应该是:“'XXXX' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。”classpath设了“.;”足够了,至于其他多出来的,不必理会 。
    你要编译要在命令行里进入你的java源文件所在的目录下,然后 javac HelloWorld.java你要运行,还是在这个目录下,输入 java HelloWorld要是这样还不行的话,检查你的代码、文件名,如果还不行,核实你的人品。
      

  13.   

    现在echo %CLASSPATH%
    结果是:"C:\Program Files\Java\jdk1.6.0_05";"C:\Program Files\Java\jdk1.6.0_05\lib\";"D:\JavaApp\";.;可是还不行
      

  14.   

    把HelloWorld.java文件放进D:\JavaApp\ 
    命令行转到D:\JavaApp\ 
    javac - d . HelloWorld.java 
    然后 D:\JavaApp\ java HelloWorld
      

  15.   

    一:
    你的文件名字是否和类名一样
    二:
     你的classpath是否设对
    三:
    你的编译的地方是否有点class文件
    你自己看看咯
      

  16.   

    谢谢大家了 现在成功了
    原因是我运行的时候带上了.class扩展名 java HelloWorld.class
    但在没设置好环境变量和路径的时候 我曾经试过java HelloWorld 当时没成功多谢赐教
      

  17.   

    哈哈.
    运行的时候编译器会自动给你加上".class"的