0

我一直在从事 Netbeans 的一个项目。现在我想提交它并允许标记用脚本编译它。但是,当我尝试通过命令行运行时,我得到了 NoClassDefFoundError。即使手动将类路径设置为当前目录。

javac Main.java 工作正常

然后调用 java -classpath 。主要给出:

java -classpath . Main
Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: pro
ject2/Main)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
4)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
4

2 回答 2

5

您似乎有一个名为project2. 如果这是故意的,您应该project2.Main在命令行上使用类名,并且类路径包含目录的父project2目录。如果不是故意的,请删除或替换package project2;源文件顶部的 。

于 2010-04-25T16:32:31.247 回答
1

这里的关键字是堆栈跟踪中的“错误名称”。你可以google一下,发现包有问题。

于 2010-04-25T16:33:43.507 回答