小编典典
Oracle Java 7中jfxrt.jar的位置是:
/lib/jfxrt.jar
Oracle Java 8中jfxrt.jar的位置是:
/lib/ext/jfxrt.jar
在将取决于您安装了Oracle的Java程序,可能Linux发行版和安装之间的差异。
jfxrt.jar不在Linux OpenJDK 7中(这是您使用的)。
提供了一个开源软件包,该软件包为基于Debian的系统(例如Ubuntu)提供JavaFX8。要安装此软件包,必须同时安装Debian OpenJDK8软件包和Debian OpenJFX软件包。我没有运行Debian,所以我不确定Debian OpenJFX软件包在哪里安装jfxrt.jar。
对于Oracle Java8,JavaFX既包含在JDK中,又位于默认的类路径中。这意味着JavaFX类将在编译期间以及用户使用您的应用程序时在运行时自动找到。因此,当前使用OracleJava 8是解决您问题的最佳解决方案。
适用于Java 8的OpenJDK可以包括JavaFX(因为Java8的JavaFX现在是开放源代码),但是对于他们是否选择在发行版中包含JavaFX8,它将取决于OpenJDK软件包的组装者。我希望他们能这样做,因为它应该有助于消除您在问题中遇到的困惑,并且它还提供了OpenJDK中的更多功能。
我的理解是,尽管自版本JDK 7u6起JavaFX已包含在标准JDK中
是的,但是只有Oracle JDK。
与Java 7捆绑在一起的JavaFX版本不是完全开源的,因此它不能包含在OpenJDK(您正在使用的版本)中。
如果需要使用Java 7而不是Java 8,则可以下载Oracle JDKforJava7并使用它。然后JavaFX将包含在Java7中。由于Oracle配置Java 7的方式,JavaFX将不在类路径中。如果您使用Java
7,则需要将其添加到类路径中,并使用适当的JavaFX打包工具来允许您的用户运行您的应用程序。一些工具,例如e(fx)clipse和NetBeansJavaFX项目类型,将为您解决类路径问题和打包任务。
2020-06-03