【问题标题】:Error when trying to run Java Eclipse Project尝试运行 Java Eclipse 项目时出错
【发布时间】:2020-10-23 18:30:35
【问题描述】:

尝试运行 JavaFX 程序时出现此错误。它与我在 Eclipse 上运行的 Java 版本有关吗?当前正在运行的 jdk-11.0.2 可能会在 1.8 上运行它。

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: javafx/application/Application has been compiled by a more recent version of the Java Runtime (class file version 54.0), this version of the Java Runtime only recognizes class file versions up to 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:468)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)

【问题讨论】:

  • 正在在 Java 1.8 上运行它。由于您使用版本编译器编译它,因此您需要至少使用版本 10 运行它。请参阅stackoverflow.com/questions/9170832/…
  • 是的没错,有版本问题代码在新版本上编译,在旧版本上运行。

标签: java eclipse javafx configuration


【解决方案1】:

正如 JDK 11 的官方发行说明中所述

JavaFX 不再包含在 JDK 中。它现在可以从 openjfx.io 单独下载。

是的,在 JDK1.8 上运行就可以了。但请确保使用 Oracle JDK 1.8 而不是 OpenJDK 1.8。 (你可以让 JavaFX 在 OpenJDK 上工作,但这会很麻烦)

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2020-07-21
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多