尝试从引用另一个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
答案 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,因此您的错误。