2010-04-25 103 views
0

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

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) 

回答

5

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

+0

谢谢。发布这个问题几分钟后我意识到。格拉尔愚蠢的错误。 – pypmannetjies 2010-04-25 17:36:51

1

此处的关键字是堆栈跟踪中的“错误名称”。你可以谷歌,并发现有问题的软件包。