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