美好的一天,
我有一个shell脚本,它将在继续执行其工作之前先加载一些jar文件。以下是我的用于加载jar文件的shell脚本代码的一部分:
for f in `find $BASEDIR/lib -type f -name "*.jar"`
do
CLASSPATH=$CLASSPATH:$f
echo Getting jar file : $f... >> $LOG
done
当我通过Crontab
触发此操作,在crontab
中设置时间并让其自动触发时,它工作正常,而没有任何错误。
但是,在应用程序运行时触发此shell脚本时,我遇到了一些问题。这是触发该Shell脚本的Java代码:
try {
p = Runtime.getRuntime().exec("myShell.sh");
log.debug("Successfully invoked batch.");
} catch (Exception ex) {
log.info("Hit error : "
+ ex.getMessage());
return false;
}
我检查了放置在shell脚本中的日志,并发现在尝试获取“ xstream-1.4.9.jar”时(在运行时调用期间)它挂起了。但是crontab
通话没有问题。
另一个奇怪的事情是,我有2个相同的环境,即环境1和环境2,并且此问题仅在环境2中发生,通过所有许可检查,它们是相同的。
任何人都可以建议我如何继续对此进行故障排除吗?