命令提示符下的java.lang.NoClassDefFoundError

时间:2012-06-19 09:03:28

标签: java

  

可能重复:
  Can I run from command line program created by Eclipse?

当我尝试从命令提示符运行类文件时,我得到以下异常,我在eclipse中运行,我没有得到任何错误

尝试从同一个文件夹

运行
 Exception in thread "main" java.lang.NoClassDefFoundError: testClient (wrong nam
    e: com/mindcraft/queryExecutor/actionclass/testClient)
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(Unknown Source)
            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)
    Could not find the main class: testClient.  Program will exit.

3 个答案:

答案 0 :(得分:5)

我怀疑你在目录中运行 com/mindcraft/queryExecutor/actionclass

相反,您应该在根目录(即com的父目录)中运行,如下所示:

java com.mindcraft.queryExecutor.actionclass.testClient

答案 1 :(得分:1)

使用全名空间从根目录运行.class文件。即,如果您的类在com.test包中作为com.test.App.java存在于src中,那么在编译其类文件时将具有合格的类名作为全名。即,com.test.App.class

因此,从你的root / src在命令行中将其作为java com.test.App运行。

答案 2 :(得分:0)

在发布问题之前请仔细搜索,如果之前已经提出过问题,或者之前已经提出过更好的答案。当我用Google搜索时,我发现similar question正在接听。希望链接为您提供您正在寻找的答案