![](/img/trans.png)
[英]java.lang.ClassNotFoundException when loading a class from a jar file
[英]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.