我在linux机器上运行几个jar时遇到了一些麻烦。基本上,我收到一个错误,说它无法找到我的主罐的主类。该类是非常存在的,因此它必须是类路径问题。 我对linux不太满意,所以我正在寻找一些关于我可能会遗漏某些东西的建议。
首先,我在用户bash_profile中设置类路径;添加所需的所有jar,由a:delimeter分隔。然后我导出类路径。
然后,在我用来调用主jar的shell(ksh)脚本中,我也使用-cp
在类路径中调用它所以它看起来像:
TEST_ROOTDIR = /Test/app
CLASSPATH=$CLASSPATH:${TEST_ROOTDIR}/lib/myjar.jar
...
export CLASSPATH
CMD_STRING="java -Xms200m -Xmx200m -XX:MaxPermSize=200m -verbose -cp $CLASSPATH"
CMD_STRING="$CMD_STRING <main classpath in jar>"
nohup $CMD_STRING > $OUTPUT_FILE
输出文件显示所有jre jar正在执行,然后加载jar并为主类抛出一个找不到类的类。
我很难过,任何帮助都会非常感激
答案 0 :(得分:1)
问题出在以下几行:
TEST_ROOTDIR = /Test/app
我确信在执行脚本时,它会发出一条错误消息:
TEST_ROOTDIR: command not found
你似乎忽略了。设置环境变量时删除=
周围的空格。说:
TEST_ROOTDIR=/Test/app