我正在運行雪豹,我只是在eclipse上寫了一個Java類。 eclipse項目引用一個用戶庫,它本身指向我在系統中某處的一堆jar文件。當我通過eclipse運行應用程序時,一切都很順利。 後來我的類導出爲jar文件,並嘗試運行它通過鍵入形成終端:在雪豹上運行Jar類路徑
java - jar myApp.jar
它拋出一個java.lang.NoClassDefFoundError異常,這意味着它無法找到我嘗試將庫參考。 知道我的用戶庫jar文件位於/ Users/myname/tempJars中,我還嘗試使用-cp選項 (java -cp /Users/myname/tempJars -jar myApp.jar)
來提及類路徑,或者直接在清單文件中引用它。兩次嘗試都失敗了,錯誤也是一樣的。 這些庫是Java 1.5庫,所以我想我應該試着通過JAVA_HOME環境變量引用另一個Java版本。我建立了以下腳本:
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:/Users/myname/tempJars
java -jar myApp.jar
再次,沒有好處。我搜索瞭如何在雪豹中執行罐子,在某些地方發現了32/64位的大問題,甚至嘗試使用-d32選項執行,但仍無濟於事。 由於相同的代碼在Eclipse中執行的很好,我相當確信這只是設置JVM的一個問題,以便它正確地包含用戶庫。
任何人都可以幫助我嗎?
在此先感謝。
感謝您的回覆,單獨添加罐子效果很好。 – 2011-02-14 10:44:17