【发布时间】:2020-02-12 09:20:03
【问题描述】:
我有一个 bash 脚本,唯一的任务就是执行一个 jar 文件。
sms.sh
java -jar /volume1/homes/jar/smssender.jar
使用我的 Synology NAS 我设置了一项任务。
添加执行 bash 脚本的命令。添加日志输出。
执行我的新任务。
查看日志发现如下错误:
/volume1/homes/jar/sms.sh:第 1 行:java:找不到命令
检查 Java 版本/安装:
手动检查 sh 脚本的执行(工作):
有人遇到过同样奇怪的情况吗?任何解决方法/想法?
我试过了
- 重新启动我的 NAS
- 卸载/安装 Java8 包
但没有任何效果。
【问题讨论】:
-
鉴于您的问题,可能是在执行作业时未正确设置 env (JAVA_HOME, PATH) 的问题。您应该使用 java 可执行文件的绝对路径,或者为您提供一个文件。
-
@NoDataFound 绝对路径是什么意思? /volume1/(...)/file.jar 不是路径吗?感谢您的帮助和时间
-
首先,找到 java 可执行文件。然后,使用
/whatever/path/to/java/is/java /volume1/homes/jar调用它(这不是特定于 Synology) -
我们可能应该在这里补充一点,最终运行命令的用户可能不是 OP 正在登录的用户(除非他确定是),因此具有不同的 PATH。
-
(另外:这真的是话题吗?)