我写了简单的程序“HelloWorld”,放在C盘根目录下面,编译运行都能成功,但是放在C:\cn\edu\swu这个目录下面编译能够通过,运行时出现如下错误,请大虾们帮帮忙,给指点指点,感激不尽。
Exception in thread "main" java.lang.NoClassDefFoundError: cn\edu\swu\HelloWorld
 (wrong name: HelloWorld)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

解决方案 »

  1.   

    javac -classpath c:\ cn.edu.swu.HelloWorld
      

  2.   

    写错了,是 java  -classpath c:\ cn.edu.swu.HelloWorld
      

  3.   

    我按照这样的步骤执行了,还是出现了如下情况,我的环境变量设置如下:
    path为:C:\jdk1.5.0_05\bin  classpath为.;C:\jdk1.5.0_05\lib\tools.jar;C:\jdk1.5.0_05\lib\dt.jar,都是用户变量。
    C:\Documents and Settings\Administrator>cd c:\C:\>javac cn\edu\swu\HelloWorld.javaC:\>java -classpath c:\cn.edu.swu.HelloWorld
    Usage: java [-options] class [args...]
               (to execute a class)
       or  java [-options] -jar jarfile [args...]
               (to execute a jar file)where options include:
        -client       to select the "client" VM
        -server       to select the "server" VM
        -hotspot      is a synonym for the "client" VM  [deprecated]
                      The default VM is client.    -cp <class search path of directories and zip/jar files>
        -classpath <class search path of directories and zip/jar files>
                      A ; separated list of directories, JAR archives,
                      and ZIP archives to search for class files.
        -D<name>=<value>
                      set a system property
        -verbose[:class|gc|jni]
                      enable verbose output
        -version      print product version and exit
        -version:<value>
                      require the specified version to run
        -showversion  print product version and continue
        -jre-restrict-search | -jre-no-restrict-search
                      include/exclude user private JREs in the version search
        -? -help      print this help message
        -X            print help on non-standard options
        -ea[:<packagename>...|:<classname>]
        -enableassertions[:<packagename>...|:<classname>]
                      enable assertions
        -da[:<packagename>...|:<classname>]
        -disableassertions[:<packagename>...|:<classname>]
                      disable assertions
        -esa | -enablesystemassertions
                      enable system assertions
        -dsa | -disablesystemassertions
                      disable system assertions
        -agentlib:<libname>[=<options>]
                      load native agent library <libname>, e.g. -agentlib:hprof
                        see also, -agentlib:jdwp=help and -agentlib:hprof=help
        -agentpath:<pathname>[=<options>]
                      load native agent library by full pathname
        -javaagent:<jarpath>[=<options>]
                      load Java programming language agent, see java.lang.instrument    -splash:<imagepath>
                      show splash screen with specified image
      

  4.   

    我也是刚开始学java,前几天刚刚研究过这个,看我的这篇文章,用英文写的,嘿嘿,中国人写的英文,还是很好读的哈!
    好运!
    http://blog.csdn.net/mekoradji/archive/2008/03/08/2158179.aspx
      

  5.   

    其实你这个问题,一个可能在于你环境没有配置好!如果你配置好了,则就是你在输入java命令后,看到运行没有错误激动啦!输入了类的路径,其实没有必要
    你仿造我文章的最后运行程序的格式,去弄吧!我想应该没有问题的。呵呵
      

  6.   

    在dos环境下运行太麻烦了,用eclipse好了
      

  7.   

    C:\Documents and Settings\Administrator>cd c:\cn\edu\swuC:\cn\edu\swu>javac HelloWorld.javaC:\cn\edu\swu>java HelloWorld
    Hello World
    我这样又运行成功了
      

  8.   

    同意8楼的,我今刚开始用eclipse,用起来很爽啊!也是要先装JDK,装了就行了,eclipse会自己找到这个JDK的
      

  9.   

    谢谢,你们的建议,我差不多已经搞懂是怎么一回事了,我环境变量设置有问题,现在改过来来了
    classpath=".;c:\cn\edu\swu"
    然后执行如下步骤:C:\Documents and Settings\Administrator>javac c:\cn\edu\swu\HelloWorld.javaC:\Documents and Settings\Administrator>java HelloWorld
    就OK了谢谢6楼的文章,谢谢大虾们的意见,衷心地感谢了!