2010-01-07 51 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文件夹是小写?

相关问题