运行引用另一个jar的jar

时间:2014-05-23 13:10:08

标签: java jar classpath aix

尝试从引用另一个jar的命令行运行jar。

我可以运行jar而无需通过以下方式引用其他jar:

/usr/java6/bin/java -cp /u/me/bin/MyJar.jar com.mypackage.myprogram.ContainsMain

现在,如果我需要添加另一个MyJar引用的jar,那么我试试这个但它失败了:

/usr/java6/bin/java -cp /u/me/bin/MyJar.jar;/u/me/bin/OtherJar.jar com.mypackage.myprogram.ContainsMain

我收到错误:OtherJar.jar:无法执行

似乎只要我放一个';'在-cp参数中它失败

如果重要的话,我在AIX盒子上

两个jar文件的文件权限都设置为777

2 个答案:

答案 0 :(得分:4)

在Unix / Linux /相关上,路径分隔符不是;,而是:。将命令行修改为:

/usr/java6/bin/java -cp /u/me/bin/MyJar.jar:/u/me/bin/OtherJar.jar com.mypackage.myprogram.ContainsMain

答案 1 :(得分:2)

由于您使用的是Unix平台,因此classpath分隔符应该是冒号,而不是分号。

此:

/usr/java6/bin/java -cp /u/me/bin/MyJar.jar;/u/me/bin/OtherJar.jar com.mypackage.myprogram.ContainsMain

由分号分隔interpreted by the shell as two commands,因此您的错误。