如何在unix上运行.jar文件?

时间:2009-08-26 10:20:20

标签: java unix

我在windows中生成了.jar文件 我必须在unix中执行.jar文件。

我正在运行该命令(java -jar myJar.jar),但它正在给出

 java.lang.UnsupportedVersionError

我在Unix中使用java版本1.5.0.12。

7 个答案:

答案 0 :(得分:22)

与Windows相同。

java -jar file.jar

答案 1 :(得分:5)

 java.lang.UnsupportedVersionError

您必须尝试使用​​本地java1.5启动使用JDK6编译的jar。

你可以:

  • 将Unix上的jvm升级到1.6
  • 或使用
  • 重新编译您的课程

  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)

  • 检查是否已安装JDK或JRE。如果不安装,请安装。
  • 设置JAVA_HOME =#JDK / JRE主目录
  • $ JAVA_HOME / bin / java -jar file.jar

您还应该记住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编译它?然后它显然无法发挥作用。

可能的解决方案:

  • 使用Windows上的Java 5(最安全的选项)编译源代码
  • 编译时使用编译器标志:-source 1.5 -target 1.5(这不会保护您免受标准库中使用Java 6的类的影响,因此这并不能完全保证您的程序在Java上运行时没有错误5)
  • 在Unix上升级到Java 6

答案 5 :(得分:0)

在Windows计算机上使用Java 5重新编译应用程序。

(Java 6默认生成Java 6兼容字节代码以使用新工具。最简单的方法是安装Java 5 JDK并使用它来重新编译应用程序)

答案 6 :(得分:0)

我遇到了同样的问题。这是因为运行时和编译时JDK版本不同。更改java编译器版本后,通过eclipse创建jar。以下链接帮助了我。

http://crunchify.com/exception-in-thread-main-java-lang-unsupportedclassversionerror-comcrunchifymain-unsupported-major-minor-version-51-0/