繁体   English   中英

带jar文件的Crontab java.lang.ClassNotFoundException

[英]Crontab java.lang.ClassNotFoundException with a jar file

 #!/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脚本执行。

似乎$CLASS PATH".:/Users/sunny/Downloads/sqlite-jdbc-3.8.11.2.jar"没有".:/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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM