【问题标题】:Issue with running JAR in Windows, works fine in Ubuntu在 Windows 中运行 JAR 的问题,在 Ubuntu 中运行良好
【发布时间】:2016-08-21 15:54:19
【问题描述】:

我遇到以下错误。我不知道这是什么类型的错误。我该怎么办?

C:\Users\shehzad\Desktop\Software>java -jar Untitled.jar 线程“main”中的异常 java.lang.UnsupportedClassVersionError: FrontEnd/MainWindow : Unsupported major.minor version 52.0 在 java.lang.ClassLoader.defineClass1(本机方法) 在 java.lang.ClassLoader.defineClass(未知来源) 在 java.security.SecureClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.defineClass(未知来源) 在 java.net.URLClassLoader.access$100(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.net.URLClassLoader$1.run(未知来源) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 java.lang.Class.forName0(本机方法) 在 java.lang.Class.forName(未知来源) 在 org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

场景:我开发的软件在 Ubuntu 14.04 Lts 中运行良好。它的 JAR 也适用于 Ubuntu,但是当我尝试这个 JAR 时 在 Windows 7 中显示上述错误。

Ubuntu Java 版本:1.8.0_101

Windows Java 版本:1.7.0_79

【问题讨论】:

  • 看起来这与操作系统无关,而是与 Java 版本有关。您使用 Java 8 编译它,但尝试在 Java 7 上运行。尝试为旧版本编译代码:stackoverflow.com/questions/11364761/…

标签: java windows ubuntu testing jar


【解决方案1】:

class version 52.0 表示它需要 Java 8 才能运行。出于安全原因,您无论如何都应该更新您的 Windows Java,因此是时候使用 Java 8。如果您需要 Java 7 来做一些事情,您可以将其保留为私有安装,但请确保注册表配置的“javapath”指向Java 8。

您也可以在命令窗口或通过资源管理器链接正确的 Java.exe 启动,而无需像这样将其安装为公共版本:

"c:\Program Files\java\jdk_1.8.0_102\bin\javaw.exe" -jar app.jar

【讨论】:

    【解决方案2】:

    您的 jar 文件是使用 8u101(major.minor 版本 52.0)编译的,并且您尝试在 7u79 上运行。因此,您最终会进入 Unsupported major.minor 版本 52.0。将您的 java 升级到 8u101。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      • 2020-04-02
      • 2018-01-25
      相关资源
      最近更新 更多