java - 从 shell 脚本运行 jar

标签 java linux shell scripting jar

我在/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/

相关文章:

linux - 取反数 : what is the fastest operation? 使用位运算还是使用 if 语句?

java - ADB shell 获取 Toast 消息

java - 即使用户在页面上进行 Activity ,Liferay session 也会过期

Java使用HashMap用户输入循环

linux - Matlab:如何通过命令行(非 GUI)使用神经网络工具箱

linux - 为什么编译器添加额外的 'sxtw' 指令(进一步导致内核 panic )?

java - 如何更改 SWT 按钮背景颜色或使其透明

Java Thread——同步线程

php - Apache2 没有获得正确的路径

c - 如何知道我的 openssl 是否支持 sslv3