我使用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(我想);
您的类路径是当前目录。


此设置是错误的:您的类路径必须是基本目录,以便程序包名称与其子目录相对应。在您的情况下,您应该cdC:\并重复该命令;但是,理想情况下,您将包结构放在专用目录中而不是根目录中。

我还应该提到类名应该在CamelCase中。

09-09 16:54