发现奇怪的类错误Java?

时间:2015-06-17 13:02:40

标签: java linux deployment build

嘿所以我正在尝试构建和部署Java应用程序。

我的buildAndDeploy.sh文件如下:

#!/bin/bash
# CoreSystemsAccumulator build and deploy script

echo "Building and Deploying CoreSystemsAccumulator"

# Step 1 - do a git pull.
cd ..
git pull

# Step 2 - Set CLASSPATH.
export CLASSPATH=libs/*

# Step 3 - Compile all sources using javac.
find ./src -name *.java > sources_list.txt
javac -d bin -classpath "${CLASSPATH}" @sources_list.txt
rm -rf sources_list.txt

# Step 4 - Run the app.
cd /opt/repositories/CoreSystemsAccumulator/bin
java com.ra.mainn.StartAccumulator

它编译得很好,但是当它试图运行应用程序时,我收到以下错误:

Error: Could not find or load main class com.ra.mainn.StartAccumulator

现在真正奇怪的是,当我尝试在没有脚本的情况下运行应用程序时,只需进入bin目录并运行以下命令,就可以正常运行。

java com.ra.mainn.StartAccumulator

我正在使用Java 8和Fedora。

任何想法都会很棒。 感谢。

2 个答案:

答案 0 :(得分:0)

您应该在更改目录(cd /opt/repositories/CoreSystemsAccumulator/bin)的命令后将当前目录添加到classpath。

可以概括地说:

export CLASSPATH=.:$CLASSPATH

答案 1 :(得分:0)

看来你正在重写CLASSPATH。正确设置CLASSPATH以附加您的库。实施例

CLASSPATH=$CLASSPATH:/usr/share/java/mysql-connector-java-5.1.24-bin.jar
export CLASSPATH