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 조건을 배치하면 문제가 해결될 수 있습니다. 귀하의 의견에 감사드립니다.

관련 정보