我最近在启动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)
版本控制被忽略.如果您与其他版本存在兼容性问题,则只需要它.
小智 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 代,它可能会有所不同。
我认为您的JDK版本是1.8.0_60和JRE版本1.8.0_65.
所以你应该下载相同版本的JDK和JRE.
您可以JDK从命令提示符检查当前版本,
java -version
javac -version
Run Code Online (Sandbox Code Playgroud)
或者你可以使用java代码浏览系统属性,
System.out.println(System.getProperties());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43493 次 |
| 最近记录: |