编译javaFx程序时FXMLLoader错误/警告,虽然程序运行正常

时间:2018-03-27 18:01:10

标签: java xml javafx fxml

编译代码时,我收到以下消息:

  

javafx.fxml.FXMLLoader $ ValueElement processValue
  警告:JavaFX运行时版本8.0.72使用版本8.0.131的JavaFX API加载FXML文档

使用IntelliJ 2017.1.3

这并不特别重要,因为该程序似乎仍然运行良好,虽然它很好找出它抛出这些错误/警告的原因

2 个答案:

答案 0 :(得分:0)

像scenebuilder一样创建fxmls的工具使用包含该工具使用的版本号的命名空间的URL,例如。

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

使用早期版本的JavaFX FXMLLoader加载fxml时会发出警告,因为它无法保证较新版本的所有功能都已可用。

这并不意味着您确实使用了不可用的功能,这就是加载fxml可能成功的原因。

答案 1 :(得分:0)

我想,您使用Scene Builder工具创建了一个FXML文件。 当场景构建器创建FXML文件时,根有一个属性:xmlns url,其版本为JDK。

示例

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

发生此警告是因为您使用以下命令加载FXML文件:

  

的xmlns =" HTTP://javafx.com/javafx/8.0.131"

但是在您的项目中,您有一个 JDK 8.0.72 ,这意味着您应该将JDK更新到8.0.131或更高版本。