我使用Eclipse编写并测试了一个小型Java程序。我现在正尝试将其部署在Windows 7机器上,而Java无法找到该类。我将类文件复制到C:\ dxtester \ classes。我正在尝试使用以下命令从dxtester目录运行它:
这产生了这种异常,我认为我理解。 Java检查了类文件,并提示我提供完全限定的名称。
Exception in thread "main" java.lang.NoClassDefFoundError: dxtester (wrong name:
dxtester/dxtester)
如果我使用FQN,我会得到
C:\dxtester>java -classpath classes;. dxtester.dxtester
Error: Could not find or load main class dxtester.dxtester
该应用程序是一个简单的测试驱动程序,其中的所有操作都在main()中完成。
package dxtester;
public class dxtester {
public static void main(String[] args) {
这似乎是一件非常简单的事情,但我完全感到困惑。我想念什么?
最佳答案
您当前的目录是dxtester
;
在此目录中,您有dxtester.class
(我想);
您的类路径是当前目录。
此设置是错误的:您的类路径必须是基本目录,以便程序包名称与其子目录相对应。在您的情况下,您应该cd
到C:\
并重复该命令;但是,理想情况下,您将包结构放在专用目录中而不是根目录中。
我还应该提到类名应该在CamelCase
中。