我使用JDK 1.6.0编译了一个jar文件,以匹配服务器中的java版本。当我执行java -jar Myjarfile.jar
时,程序运行良好。然后我设置了一个Cron Job来执行相同的文件,现在我在UnsupportedClassVersionError
中获得了/var/spool/mail/username
,当然jar文件没有使用cron job执行。我觉得这很奇怪。我已经没有理由说明为什么会这样。我还应该检查什么?
更新:我已正确检查JAVA_HOME设置
答案 0 :(得分:2)
正如评论中已经指出的那样..拾取的java运行时低于编译的jdk版本。 (很难指出从上面给出的信息中挑选出来的确切原因)。
你可以做的是在你的cron命令中提供绝对的jdk路径..即仅代替 java -jar Myjarfile.jar ,提供类似
/ usr / lib / jdk6 /../ java -jar Myjarfile.jar。