首页 文章

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

提问于
浏览
1

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

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

java -jar text.jar

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

3 回答

  • 0

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

    或者,你可以在1.5重建jar . 在eclipse中,右键单击项目浏览器中的项目=> properties => java compiler => compiler compliance level .

  • 3

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

  • 1

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

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

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

相关问题