Jar在eclipse中执行但没有在Unix中运行

时间:2014-01-07 09:11:33

标签: java eclipse shell unix

我有一个在eclipse和cmd提示符下正常运行的Jar。 当我在Unix中尝试执行相同操作时,它没有执行。

注意: Unix中的Java版本是1.5; eclipse中的Java版本是1.7

java -jar text.jar
  

线程“main”中的异常java.lang.UnsupportedClassVersionError:错误   .class文件中的版本号           at java.lang.ClassLoader.defineClass1(Native Method)           at java.lang.ClassLoader.defineClass(ClassLoader.java:621)           at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)           at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)           在java.net.URLClassLoader.access $ 100(URLClassLoader.java:56)           在java.net.URLClassLoader $ 1.run(URLClassLoader.java:195)           at java.security.AccessController.doPrivileged(Native Method)           在java.net.URLClassLoader.findClass(URLClassLoader.java:188)           at java.lang.ClassLoader.loadClass(ClassLoader.java:307)           at sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:268)           at java.lang.ClassLoader.loadClass(ClassLoader.java:252)           在java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

3 个答案:

答案 0 :(得分:3)

你自己回答了这个问题。在1.7编译时,您尝试在1.5环境中执行jar。将Unix JRE更新为1.7,它应该可以工作。

或者你可以在1.5重建jar。在eclipse中,右键单击项目浏览器中的项目=> properties => java compiler =>编译器合规性级别。

答案 1 :(得分:1)

当您尝试在类路径中运行具有jar的应用程序时,获得UnsupportedClassVersionError,该类路径是使用比您在运行时使用的版本更新的版本构建的。

答案 2 :(得分:0)

当您尝试运行为比您拥有的Java版本更新的Java版本编译的类时,会出现此错误;例如,如果您尝试在Java 5 JVM上使用为Java 6或更高版本编译的类。

它不一定是你自己的班级;您可能正在使用为Java 6或更高版本构建的库。

您使用的是特定库(JAR文件)吗?检查它们是否与Java 5兼容。或者将Java版本升级到Java 6