![JavaFX 應用程式(JDK 和 JRE 8)問題 Greenfoot Ubuntu 18.04](https://rvso.com/image/1592535/JavaFX%20%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%EF%BC%88JDK%20%E5%92%8C%20JRE%208%EF%BC%89%E5%95%8F%E9%A1%8C%20Greenfoot%20Ubuntu%2018.04.png)
我最近安裝了 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
好的。我覺得自己像個白痴。但如果您也遇到此問題,可以嘗試以下方法:
確保你下載的是oracle版本的JDK8(你只需要JDK),你透過apt下載的版本沒有FX(我相信)。
確保您的 greenfoot 安裝使用的是 oracle JDK8
嘗試使用純java版本。這可讓您指定 JDK 安裝位置,從而輕鬆選擇 oracle JDK。