2015-06-23 60 views
1

我在MAC上使用Netbeans 8.02,並從新建項目嚮導中創建一個簡單的JavaFX應用程序。在Java 1.7u80上運行JavaFX應用程序的問題

當我將平臺設置爲Java 1.8時,它工作得很好,但是當我嘗試在Java 1.7u80上運行它時,出現「java.lang.NoClassDefFoundError:javafx/application/Application」。從IDE或從命令行運行時,行爲是相同的。

所有的平臺都編譯得很好,所以它看起來像JavaFX在我已經安裝的兩個平臺的類路徑上。

我的目標應用程序必須運行在1.7上,所以我不能簡單地跟1.8一起打電話給一天。

+0

JavaFX需要JDK8.0。 – CoderNeji

+2

@CoderNeji不,它不。 JavaFX 8需要JDK 8.0。您可以在Java 7上運行JavaFX 2.x,不過建議您使用JDK 8,因爲在8版本中推送了大量的bug修復。 – ItachiUchiha

+0

我也有一個問題,netbeans說,請更新jdk ...這就是爲什麼我發表評論... 編輯...我用JavaFX8 – CoderNeji

回答

0

事實證明,我遇到了NetBeans IDE中的這個已知錯誤。

https://netbeans.org/bugzilla/show_bug.cgi?id=239388

這聽起來像路徑設置導致使用哪個偶然建立了平臺V 1.8 Ant腳本的IDE。

我將Netbeans本身的平臺更改爲JDK 1.7,現在一切正常,並且使用JDK 1.7u80可以100%運行JavaFX應用程序。

0

如果要在Java 1.7上運行JavaFx應用程序,則需要手動將jfxrt.jar添加到類路徑中。在Java 1.8中,默認情況下,jfxrt.jar位於類路徑中。所以這就是爲什麼你在1.7上運行時遇到這個問題。

您應該可以通過IDE添加它。您也可以使用一些第三方工具,如JavaFx Maven Plugin

+0

我確實嘗試使用-cp添加它,但沒有運氣,仍然是同樣的問題。我相信在後面的1.7版JDK中,來自Oracle的jfxrt.jar更新包含在classpath中。 – Cobusve

相關問題