JavaFX FXML API 版本警告

2022-09-01 02:20:37

我最近在启动JavaFX应用程序时开始注意到以下警告:

警告:通过 8.0.60 版的 JavaFX 运行时,使用 8.0.65 版的 JavaFX API 加载 FXML 文档

有问题的FXML是由Gluon Scene Builder 8.1.0创建的,运行它的捆绑Java版本1.8.0_65。该应用程序是使用我的操作系统Java版本1.8.0_72启动的。

FXML 的根节点具有以下属性

xmlns="http://javafx.com/javafx/8.0.65"

但是我认为1.8.0_72>1.8.0_65,那么为什么我会收到此消息?这是我应该担心的事情吗?有没有办法问jre什么是JavaFX API版本(显然,它与Java版本不同)?

编辑:
运行建议的代码James_D给出以下结果:

java 版本: 1.8.0_72-内部
javafx.version: 8.0.60

那么,看起来JDK中的JavaFX版本是错误的吗?或者也许我有一个旧的jfxrt.jar?我会研究的。


答案 1

如果您使用以下表格:

xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"

版本控制将被忽略。仅当您与另一个版本存在兼容性问题时,才需要它。


答案 2

我也有这个问题。我管理它只是为了更改*.fxml文件中的行:

javafx/8.0.171 -> javafx/8.0.141

以前是这样的,它是fxml文件开头的一行:

<AnchorPane prefHeight="300.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.application.word.view.LoginController">

然后我把它改成了:

<AnchorPane prefHeight="300.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.application.word.view.LoginController">

它可以毫无问题地工作。但要小心,如果你使用不同的jdk世代,它可能会有所不同。


推荐