JavaFX FXML API版本警告

Ita*_*tai 29 java javafx fxml

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

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

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

FXML的根节点确实具有该属性

xmlns="http://javafx.com/javafx/8.0.65"
Run Code Online (Sandbox Code Playgroud)

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

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

java版本:1.8.0_72-internal
javafx.version:8.0.60

那么,看起来像JDK中的JavaFX版本是错的?或者我可能有一个旧的jfxrt.jar?我会调查一下.

spr*_*boy 39

如果您使用表格:

xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
Run Code Online (Sandbox Code Playgroud)

版本控制被忽略.如果您与其他版本存在兼容性问题,则只需要它.

  • 请注意:SceneBuilder 会覆盖它! (7认同)

小智 10

我也有这个问题。我管理它只是为了更改 *.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">
Run Code Online (Sandbox Code Playgroud)

然后我将其更改为:

<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">
Run Code Online (Sandbox Code Playgroud)

它可以毫无问题地工作。但是请注意,如果您使用不同的 jdk 代,它可能会有所不同。


She*_*Rai 7

我认为您的JDK版本是1.8.0_60JRE版本1.8.0_65.

所以你应该下载相同版本的JDKJRE.

您可以JDK命令提示符检查当前版本,

java -version
javac -version
Run Code Online (Sandbox Code Playgroud)

或者你可以使用java代码浏览系统属性,

System.out.println(System.getProperties());
Run Code Online (Sandbox Code Playgroud)