我在/ root/umar/bin目录下有一个名为umar.jar的jar文件。我在同一个目录下有一个shell脚本文件run.sh。以下是run.sh从shell脚本运行jar
#!/bin/bash
"$JAVA_HOME"/bin/java -jar /root/umar/bin/umar.jar
现在,当我运行shell脚本,我收到以下错误
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
一些google搜索后的内容,我发现(从计算器民间提到),其当Jar使用比JRE更高版本的JDK进行编译时会出现此类错误。
现在奇怪的是,如果我直接在外壳
java -jar umar.jar
运行此命令时,它工作完全正常。如果jar是使用比我的JRE更高版本的JDK编译的,那么即使从shell也不能运行它。
你有什么建议?
在shell中,键入 'whereis java的' 或 'whereis javac的' 运行jar,并将其与 '回声 “$ JAVA_HOME”' 进行比较。他们应该告诉你通往JRE的路径。 – NawaMan 2009-10-20 02:28:59