![](/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.