cronでコンパイルされていないJavaファイル

cronでコンパイルされていないJavaファイル

私はセレンテストケースを実行し、電子メール形式でレポートを送信することに関連するCRONを介して毎日スクリプトファイルを実行します。これは私のスクリプトです。check.sh

#!/bin/sh
set -x
./.bashrc
export CLASSPATH=/home/test/TestAutomation/lib/*:.
cd /home/test/TestAutomation/lib/
/usr/bin/java -jar selenium-server.jar & 
cd
javac Api.java
java Api 
cd /home/test/TestAutomation/selenium/reports/
cp result.html /home/test/TestReports
sh /home/test/repgen.sh
sleep 30
sh /home/test/masRepgen.sh

スクリプトはcronでうまく動作します。ここでsh /home/test/masRepgen.shスクリプトはjavaファイルをコンパイルして実行し、電子メールを送信します。上記のスクリプトを以下のように少し変更しました。

#!/bin/sh
set -x
./.bashrc
. /home/test/blog/build.txt
cd /home/test/VT/CT/
if  [ -e /home/test/VT/CT/CT__$BuildLabel ]; then
echo "Testcases has been run already"
else
export CLASSPATH=/home/test/TestAutomation/lib/*:.
cd /home/test/TestAutomation/lib/
/usr/bin/java -jar selenium-server.jar & 
cd
javac Api.java
java Api 
cd /home/test/TestAutomation/selenium/reports/
cp result.html /home/test/TestReports
sh /home/test/repgen.sh
sleep 30
fi
sh /home/test/masRepgen.sh

このように変更した後は電子メールを受信できません。つまり、sh /home/test/masRepgen.shJavaクラスはコンパイルされません。どこでエラーが発生したのかわかりません。

masRepgen.shにはこのコンテンツが含まれています。

cd /home/test/
/home/test/jdk1.7.0_12/bin/javac SendMail.java
/home/test/jdk1.7.0_12/bin/java SendMail "http://172.20.8.50/Regression/CR__$BuildLabel/compareresults_index.html" "http://172.20.8.50/Summary__$BuildLabel/complete_summary.html"

crontabに以下を追加しました。

45 02 * * * /bin/sh check.sh >> UI.txt

ベストアンサー1

export CLASSPATH=/home/test/TestAutomation/lib/*:.上記のif条件を配置すると、問題が解決する可能性があります。ご意見ありがとうございます。

おすすめ記事