我在/root/umar/bin 目录中有一个名为 umar.jar 的 jar 文件。我在同一目录中有一个 shell 脚本文件 run.sh 。以下是run.sh的内容
#!/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
经过一番谷歌搜索后,我发现(正如 stackoverflow 中的一位人士提到的),当使用比 JRE 更高版本的 JDK 编译 Jar 时,就会出现此类错误。
现在奇怪的是,如果我直接在 shell 上运行这个命令
java -jar umar.jar
它工作得很好。如果该 jar 是使用比我的 JRE 更高版本的 JDK 编译的,那么即使从 shell 中它也根本不应该运行。
你有什么建议?
最佳答案
比较“java -version”和“”$JAVA_HOME”/bin/java -version”
您可能安装了多个 JVM
关于java - 从 shell 脚本运行 jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1592142/