2015-06-23 30 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