在Java 1.7u80上运行JavaFX应用程序时出现问题
我在MAC上使用Netbeans 8.02,并从新项目向导创建一个简单的JavaFX应用程序 当我将平台设置为Java 1.8时,它工作正常,但当我尝试在Java 1.7u80上运行它时,我得到了“Java.lang.NoClassDefFoundError:javafx/application/application”。从IDE或命令行运行时的行为相同 任何一个平台都可以编译,所以我安装的两个平台的类路径上都有JavaFX在Java 1.7u80上运行JavaFX应用程序时出现问题,java,javafx,netbeans-8,Java,Javafx,Netbeans 8,我在MAC上使用Netbeans 8.02,并从新项目向导创建一个简单的JavaFX应用程序 当我将平台设置为Java 1.8时,它工作正常,但当我尝试在Java 1.7u80上运行它时,我得到了“Java.lang.NoClassDefFoundError:javafx/application/application”。从IDE或命令行运行时的行为相同 任何一个平台都可以编译,所以我安装的两个平台的类路径上都有JavaFX 我的目标应用程序必须在1.7上运行,所以我不能简单地使用1.8,就到此
我的目标应用程序必须在1.7上运行,所以我不能简单地使用1.8,就到此为止。如果您想在Java 1.7上运行JavaFx应用程序,您需要手动将jfxrt.jar添加到类路径中。在Java1.8中,jfxrt.jar默认位于类路径中。这就是为什么在1.7上运行时会出现这个问题
您应该能够通过IDE添加它。您还可以使用一些第三方工具,如,事实证明我在NetBeans IDE中遇到了这个已知的错误 这听起来像是路径设置导致ide意外地使用了为平台V1.8构建的Ant脚本
我将Netbeans本身的平台更改为JDK 1.7,现在一切都可以为1.7构建,并100%使用JDK 1.7u80运行JavaFX应用程序。JavaFX需要JDK8.0。@CoderNeji不需要。JavaFX8需要JDK8.0。您可以在Java 7上运行JavaFX2.x,但是,建议使用JDK 8,因为8版本中没有大量的bug修复。我的也有一个问题,netbeans说请更新JDK。。。这就是为什么我做出这样的评论。。。编辑我使用了JavaFX8I,在没有问题之前,我让它在JDK7中运行,切换机器,现在没有项目将在JDK7中运行。我需要理解为什么。我可以在运行时使用-cp将jfxrt.jar添加到类路径中,这没有什么区别。我确实尝试使用-cp添加它,但没有成功,仍然是相同的问题。我相信在后来的1.7JDK更新中,OracleJFXRT.jar包含在类路径中。