2013-01-07 86 views
0

我一直在編寫從NetBeans接口,但我想學習從ubuntu終端,這是我很難使用它。從終端運行java:NoClassDefFoundError

我想運行的文件是TabRemover.java。我從終端達到其目錄並寫:

[email protected]:~/NetBeansProjects/TabRemover/src/tabremover$ java TabRemover 

,但我得到了以下錯誤:

Exception in thread "main" java.lang.NoClassDefFoundError: TabRemover (wrong name: tabremover/TabRemover) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:787) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:447) 
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:423) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356) 
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:480) 

我應該怎麼做才能從運行Ubuntu的終端Java程序?我看到網上有不同的主題,但他們看起來不像幫助...

任何建議?

回答

0

您需要comandline 設置CLASSPATH -cp選項和關閉過程需要用javac

$cd ~/NetBeansProjects/TabRemover/src 
$java -classpath . org.tabremover.TabRemover 

-classpath和-cp以前編譯 - 給保存效果。

請檢查TabRemover.java位於〜/的NetBeansProjects/TabRemover/SRC /組織/ tabremover/TabRemover.java

組織/ tabremover應該org.tabremover

+0

謝謝iMysak等效包名的回答。什麼是類路徑?我該如何設置它? –

+0

我已檢查頁面http://en.wikipedia.org/wiki/Classpath_%28Java%29。我認爲,爲了創建一個類路徑,我必須寫: java -classpath/home/NetBeansProjects/TabRemover/src/tabremover org.tabremover.TabRemover 爲什麼我得到: 錯誤:無法找到或加載主類的組織.tabremover.TabRemover –

+0

我更新了答案,您應該從包含包的基本目錄啓動此命令。 – iMysak