2011-01-07 35 views
12

這是我害怕的那些非常尷尬的問題之一。線程「main」中的異常java.lang.NoClassDefFoundError:DiServer <錯誤名稱:ds/DiServer>

我在Eclipse的程序:

package ds; 
    public class DiServer { 
public static void main(String[] args) { 
    int foo = 0; 
    int bar = 0; 
    /*bla*/ 
    } 
    } 

簡單吧?在Eclipse中運行時,這種方式完全正常。

我想從命令行運行這個。我已經複製了bin文件夾,裏面的ds文件夾和ds中的DiServer.class,以及.classpath

我已經把這些放到一個單獨的文件夾中,C:\ My Documents \ DiTest,打開命令提示符,轉到C :\我的文檔\ 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%肯定這是一個類路徑問題,但我無法解決如何解決它。

我將非常感謝一如既往的任何幫助,並且品脫的習慣報價總是站立。

在此先感謝非常多,

中號

回答

24

你類的全名是ds.DiServer,不DiServer。從C:\My Documents\DiTest

java -cp . ds.DiServer 

而且

+0

我現在不在辦公室去測試這個了,但我會在你的口中說出來,並在週一早上發現!謝謝你們兩位的好回答,如果我可以選擇兩者都是最好的,但因爲只能有一個,我會把它給最好的解釋問題,這是這樣的。非常感謝你,你的品脫可以在任何時候聲稱:) – Myn 2011-01-07 17:44:52

11

轉到C:\My Documents\DiTest\ds\

javac DiServer.java 

轉到C:\My Documents\DiTest\

java ds.DiServer 

請參見

+0

如果他在eclipse中運行它,第一步應該是不必要的,只需找到輸出(bin)目錄的根目錄並從那裏運行java ds.DiServer即可。 – KevinDTimm 2011-01-07 14:45:39

相關問題