【问题标题】:Exception when running a Jar on another computer (other Java version)在另一台计算机上运行 Jar 时出现异常(其他 Java 版本)
【发布时间】:2014-09-07 07:45:15
【问题描述】:

玩一个小网络程序,用 netbeans 创建了一个 Jar。在我的计算机 java 1.7.0.60 上运行得很好,但是当我将它带到另一台具有较新版本的 java 1.7.0_65 的计算机上时,它不会运行,我收到此错误:

C:\Program Files (x86)\Java\jre7\bin>java -jar ReverseEchoServer.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: reverseechose
rver/SocketClient : Unsupported major.minor version 52.0
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)

我在这里阅读了几篇关于 PATH 的帖子,看过但没有运气。我相信它的版本差异。任何建议将不胜感激,谢谢!

【问题讨论】:

  • Class file version 52 seems to be Java 8。确定您在机器上使用 Java 7 运行它?
  • AFAIK 只有在 java 7 中编译它并尝试在 java 6 中运行它才会有所作为
  • @M.Sharma 不,反之亦然。将执行较旧的类文件版本(例如,Java 7 可以运行为 Java 6 及更低版本编译的类),但较新的版本被简单地报告为不受支持。
  • 我认为您对某个地方的版本感到困惑,可能在您自己的系统上。 (请记住,可以在一个机器上安装多个不同的 Java 版本,因此从命令行执行 java -version 不会总是告诉您 Eclipse 等正在使用什么。)
  • 无论如何,您可能需要在运行 javac 时指定目标版本。

标签: java


【解决方案1】:

为 Java 7 编译的 Java 类文件的主要/次要版本为 51/0。如果你有一个没有为 Java 7 准备的 JVM 实现,它会给你这个错误,指出“我不知道如何解释和运行这个类文件。”

尝试为较旧的 JVM 版本进行编译,或升级您的 JVM。

使用目标并使用目标开关后跟版本号指定需要执行的版本。

javac -target 1.7 yourJarName.jar

【讨论】:

    猜你喜欢
    • 2014-01-21
    • 2014-03-28
    • 1970-01-01
    • 2016-08-22
    • 1970-01-01
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多