我最近安装了 JRE 8 和 JDK 8 以便在 Ubuntu 18.04 中使用 Greenfoot。
我知道我的 Java 安装大部分都有效(我可以在 atom 中编写代码并使用脚本运行它)。但是,当我尝试在终端中启动 greenfoot 时,我得到了以下信息:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at bluej.Boot.main(Boot.java:193)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 13 more
这似乎是 greenfoot 无法找到并运行 JavaFX 类的问题。据我了解,JavaFX 安装附带 JRE 8。
JavaFX 是否附带默认的 JRE 8 和 JDK 8 安装?我需要将 greenfoot 指向 JavaFX 位置吗?
即使您不熟悉 greenfoot,任何帮助都会受到感谢。我看到其他帖子似乎在处理类似的问题,但不确定如何在我的情况下应用修复。
请帮忙!
答案1
好吧。我觉得自己像个傻瓜。但是如果你也遇到这个问题,可以尝试以下方法:
确保您下载了 JDK8 的 oracle 版本(您只需要 JDK),您通过 apt 下载的版本没有 FX(我相信)。
确保您的 greenfoot 安装使用的是 oracle JDK8
尝试使用纯 Java 版本。这允许您指定 JDK 安装的位置,从而轻松选择 Oracle JDK。