[英]Why can't I compile my java file on cygwin, when it needs classes from a jar?
[英]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.