在Linux上找不到主类 - Classpath问题

时间:2013-09-10 09:02:35

标签: java linux classpath java-7 .bash-profile

我在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并为主类抛出一个找不到类的类。

我很难过,任何帮助都会非常感激

1 个答案:

答案 0 :(得分:1)

问题出在以下几行:

TEST_ROOTDIR = /Test/app

我确信在执行脚本时,它会发出一条错误消息:

TEST_ROOTDIR: command not found

你似乎忽略了。设置环境变量时删除=周围的空格。说:

TEST_ROOTDIR=/Test/app