2010-01-07 77 views
1

我有一個需要在Unix上運行的客戶端應用程序。它在Windows中工作正常,但我在unix中得到了一個N​​oClassDefFound異常。這裏是我的清單文件:在Unix中運行jar時不會讀取清單中的類路徑

清單-版本:1.0 螞蟻版本:Apache Ant的1.6.5 創建,通過:2.3(IBM公司) 主類:com.main.Client 類路徑:LIB /commons-lang-2.3.jar lib/commons-io-1.3.2.jar lib/comm ons-logging-api-1.1.jar lib/log4j-1.2.12.jar

而Client.jar結構:

COM COM /主 LIB META-INF

要運行它,我用下面的命令:

$JAVA_HOME/jre/bin/java -jar Client.jar 

它工作在Windows的罰款。不知何故,我認爲它沒有閱讀清單權利。請幫助!謝謝!

+0

我試圖在本地添加一個lib文件夾與所需的罐子,它工作正常。所以我猜類路徑被正確讀取,但不知何故jar文件不正確提取? – vfrj 2010-01-07 11:25:22

回答

0

一種方法是確保您已爲運行該程序的用戶定義了CLASSPATH變量。

$ echo $CLASSPATH 

如果從上面顯示什麼,然後將其導出

$ export CLASSPATH="/lib/commons-lang-2.3.jar:/your/other/paths" 
+1

感謝您的回覆! 但是不應該清單文件中的Class-Path屬性爲我處理?我想要的是一個獨立的客戶端應用程序,以便它可以移植到其他機器上。 – vfrj 2010-01-07 10:27:55

0

也許是因爲你的META-INF文件夾是小寫?

相關問題