簡體   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