簡體   English   中英

為什么我不能使用Ubuntu編譯Java應用程序?

[英]Why can't I compile my Java applications using Ubuntu?

我一直在嘗試似乎兩天的時間,以便從Ubuntu的命令行中編譯我的Java應用程序。 我知道我已經安裝了Java,因為我可以在Eclipse&Netbeans中運行我的應用程序,並且它們可以正常工作。 但是,如果我想從命令行編譯應用程序,則會收到以下錯誤消息:

javac Main.java

一切都很好,沒有錯誤或任何東西。 然后我嘗試:

java Main

我收到此錯誤消息:

Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: input/Main)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:637)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
Could not find the main class: Main. Program will exit.

嘗試:

java input.Main

從錯誤的外觀看,您的Main類位於“輸入”包中。 運行類時需要指定包名稱,而不是文件名。

打開終端並粘貼以下命令:

export CLASSPATH=.:/usr/local/tomcat/common/lib/jsp-api.jar:/usr/local/tomcat/common/lib/servlet-api.jar:/home/trenog/javokapi/bin/xmlrpc.jar

這看起來像經典的Classpath問題。 Eclipse和Netbeans將為您設置類路徑,但是當您編寫命令行時,您就自己行了。

假設您正在使用BASH,請嘗試在命令行中鍵入以下內容:

CLASSPATH=/path/to/your/java/class/file

或者,您也可以從Java命令行執行此操作:

java -cp /path/to/your/java/class/file Main

點擊此鏈接以獲取更多信息。

編輯:好吧,我看到你想通了。 恭喜。

類加載器根本找不到類input.Main。

該類應位於目錄./input ,該目錄中的文件應名為Main.class ,而java命令應為' java input.Main '。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM