带有jar文件的Crontab java.lang.ClassNotFoundException

时间:2016-06-29 10:35:14

标签: java sqlite shell jar crontab

 #!/bin/bash 
 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk
 CLASSPATH=/Users/sunny/CronTest/out/production/CronTest 
 $JAVA_HOME/Contents/Home/bin/java -cp $CLASSPATH ".:/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar" sample.Main 
 exit 0

Sqlite jar文件位于/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar

编译的java类文件位于/Users/sunny/CronTest/out/production/CronTest/sample/Main.class

我已经将cron工作设置为每1分钟安排一次。 Java课程已被逐出,但我得到了java.lang.ClassNotFoundException: org.sqlite.JDBC 脚本中的相同命令在终端中工作。

我的问题是如何正确添加jar文件以便从shell脚本执行。

1 个答案:

答案 0 :(得分:0)

好像$CLASS PATH".:/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar"之间有一个空格,并且缺少一个冒号(:)。

请尝试使用以下export

export CLASSPATH=.:/Users/sunny/CronTest/out/production/CronTest:/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar

并使用-cp $CLASSPATH调用java命令。

如果仍无效,请直接尝试-cp

$JAVA_HOME/Contents/Home/bin/java -cp ".:/Users/sunny/CronTest/out/production/CronTest:/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar" sample.Main