线程" main"中的例外情况java.lang.NoClassDefFoundError:calculator(错误的名字:apackage / calculator)

时间:2014-08-05 12:29:18

标签: java command prompt

我试图从命令提示符运行我的Java类文件,当我尝试这样做时,我收到此错误

C:\Users\New User\workspace\myproject\bin\apackage>java calculator -cp .
Exception in thread "main" java.lang.NoClassDefFoundError: calculator (wrong nam
e: apackage/calculator)
        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$100(Unknown Source)
        at java.net.URLClassLoader$1.run(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 sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source) 

我尝试了很多不同的方法(设置类路径和路径),但我还没有能够解决这个问题,任何帮助都会受到赞赏C:

3 个答案:

答案 0 :(得分:1)

编译完源代码(calculator.java)后,请执行以下操作:

转到命令shell中的目录C:\Users\New User\workspace\myproject\bin

C:\Users\New User\workspace\myproject\bin>java -cp . apackage.calculator

作为apackage中的课程,您需要从包结构的根目录运行它,即bin

编辑:是的,你需要在课程名称前面提供-cp开关。请参阅java命令帮助(http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html

答案 1 :(得分:0)

如果我了解你,那么你的课程是apackage.calculator,而你现在就在这里

C:\Users\New User\workspace\myproject\bin\apackage>

然后

C:\Users\New User\workspace\myproject\bin\apackage> cd ..\
... \bin> java -cp . apackage.calculator

答案 2 :(得分:0)

当Java虚拟机无法在运行时找到编译时可用的特定类时,Java中出现了NoClassDefFoundError。

请检查计算器类文件是否可用。