我正在使用NetBeans中的Java项目,并且在按下运行项目按钮时它运行完美。但是,我需要从终端运行程序。我打开了其中包含的类文件,search.class目录,并试图当.class文件存在时,Java NoClassDefFoundError
java search
运行它但是我得到一个错误:
Exception in thread "main" java.lang.NoClassDefFoundError: search (wrong name: search/search)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
我不能为我的生命弄清楚为什么它说“错误的名称”,因为search.class存在于该目录中。我唯一的想法是,有我从我的程序调用的.jar文件(它们在同一个目录中),也许我需要在运行时包含它们?
任何帮助将不胜感激!
编辑:所以事实证明,它可能是一个问题,不包括.jar文件。我通过进入dist /文件夹进行修复,其中整个项目以jar包的形式打包并运行为java -jar search.jar
感谢您的所有反馈!
这个课程在一个包里吗?班级的名字是什么?你能显示班级的签名吗?这就是开始的那一行......'public class MyClass {'这个类是什么包? – 2011-05-08 04:31:10