我在windows中生成了.jar文件 我必须在unix中执行.jar文件。
我正在运行该命令(java -jar myJar.jar
),但它正在给出
java.lang.UnsupportedVersionError
我在Unix中使用java版本1.5.0.12。
答案 0 :(得分:22)
与Windows相同。
java -jar file.jar
答案 1 :(得分:5)
java.lang.UnsupportedVersionError
您必须尝试使用本地java1.5启动使用JDK6编译的jar。
你可以:
javac -source 1.5 -target 1.5 -bootclasspath /path/to/jre1.5/lib/rt.jar
检查是否可以生成1.5字节码兼容。
答案 2 :(得分:1)
您是否尝试在Unix系统上使用较新版本的Java?
如果你控制jar文件,你可以在编译时定位Java 1.5吗?
答案 3 :(得分:0)
您还应该记住JVM不是向前兼容的,所以如果您使用JDK 1.6创建了一个jar文件,那么它将无法与JDK 1.5一起使用!
在这种情况下,您可以:
将JDK 1.6安装到Unix
使用-target 1.5
标志重新编译jar(但由于API不兼容,您可能会遇到任何类型的错误,因此第一种方式更好)
答案 4 :(得分:0)
UnsupportedVersionError
意味着您使用比您尝试运行它的Java更新版本的Java编译了Java源代码。 Java向下兼容(较新版本的Java可以运行使用旧版本编译的Java程序),但不向上兼容(旧版本的Java无法运行使用较新版本编译的Java程序)。
你说你在Unix上使用Java 5。你是否在Windows上使用Java 6编译它?然后它显然无法发挥作用。
可能的解决方案:
-source 1.5 -target 1.5
(这不会保护您免受标准库中使用Java 6的类的影响,因此这并不能完全保证您的程序在Java上运行时没有错误5)答案 5 :(得分:0)
在Windows计算机上使用Java 5重新编译应用程序。
(Java 6默认生成Java 6兼容字节代码以使用新工具。最简单的方法是安装Java 5 JDK并使用它来重新编译应用程序)
答案 6 :(得分:0)
我遇到了同样的问题。这是因为运行时和编译时JDK版本不同。更改java编译器版本后,通过eclipse创建jar。以下链接帮助了我。