我有一个jar在下面的位置jar的名字是bce_boa.jar,它包含一个主要方法的类 该类的名称是DummyRmiSecurity.java
/opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib/bce_boa.jar
现在当我在上面这个位置时,我在unix中执行了下面的命令来执行bce_boa.jar中的DummyRmiSecurity
java -cp /opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib/bce_boa.jar com.jms.rmisecurity.DummyRmiSecurity
但我得到以下错误
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContext
现在经过分析我知道当春季罐子没有包含在类路径中时我得到这个错误所以我所有的春天相关的罐子都是下面的位置本身
/opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib
现在请告知我如何在我的类路径中包含上述位置的所有罐子
答案 0 :(得分:0)
您可以在类路径中使用*
来包含给定目录中的所有.jar
个文件,但是您需要注意保护*
不受shell的扩展。
java -cp '/opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib/*' com.jms.rmisecurity.DummyRmiSecurity
如果没有引号,shell会扩展通配符并尝试将以空格分隔的文件名列表传递给java
,这将无效。 java
命令需要查看文字*
本身。
答案 1 :(得分:0)
如果/ opt / app / pracier / servers / clsintegration / racier_14_1_ / ops / lib包含所有必需的库,则需要将其添加到类路径中。命令应如下所示
java -cp "/opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib/bce_boa.jar:/opt/app/pracier/servers/clsintegration/racier_14_1_/ops/lib/*" com.jms.rmisecurity.DummyRmiSecurity
编辑:我没有注意到bce_boa和其他lib一样在文件夹中,Ian Roberts回答的情况更好。