这是我害怕的非常令人尴尬的问题之一。
我在Eclipse中有一个程序:
package ds;
public class DiServer {
public static void main(String[] args) {
int foo = 0;
int bar = 0;
/*bla*/
}
}
简单吧?这在Eclipse中运行时完全正常。
我想从命令行运行它。我已经复制了bin文件夹,里面有ds文件夹,ds和.classpath
中有DiServer.class我把它们放到一个单独的文件夹中,C:\ My Documents \ DiTest,打开命令提示符,转到C:\ My Documents \ DiTest \ ds \并输入java DiServer
我得到的错误是Exception in thread "main" java.lang.NoClassDefFoundError: DiServer <wrong name:ds/DiServer> ... Could not find the main class: DiServer. Program will exit.
我尝试过java -classpath。 DiServer,java -classpath ../ .. DiServer,将.classpath移动到ds文件夹,但我似乎无法绕过这个。我99%肯定这是一个类路径问题,但我无法弄清楚如何解决它。
我将永远感谢任何帮助,并且品脱的习惯性提供始终如一。
非常感谢,
中号
答案 0 :(得分:24)
您的班级全名是ds.DiServer
,而不是DiServer
。来自C:\My Documents\DiTest
:
java -cp . ds.DiServer
voilà。
答案 1 :(得分:11)
转到C:\My Documents\DiTest\ds\
javac DiServer.java
转到C:\My Documents\DiTest\
java ds.DiServer
另见