编译 javaFx 程序时 FXMLLoader error/warning,尽管程序运行良好
FXMLLoader error/warning when compiling javaFx program, although program runs fine
当我编译我的代码时,我收到以下消息:
javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.131 by JavaFX runtime of version 8.0.72
使用 IntelliJ 2017.1.3
这并不特别重要,因为该程序似乎仍然 运行 正常,尽管很高兴找出它抛出这些 error/warning
的原因
像 scenebuilder 这样创建 fxml 的工具使用 url 作为包含该工具使用的版本号的命名空间,例如
xmlns="http://javafx.com/javafx/8.0.111"
当使用早期版本的 JavaFX FXMLLoader
加载 fxml 时发出警告,因为它不能保证新版本的所有功能都已经可用。
这并不意味着您确实使用了不可用的功能,尽管这就是加载 fxml 可能会成功的原因。
我猜,您使用 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 或更高版本.
当我编译我的代码时,我收到以下消息:
javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.131 by JavaFX runtime of version 8.0.72
使用 IntelliJ 2017.1.3
这并不特别重要,因为该程序似乎仍然 运行 正常,尽管很高兴找出它抛出这些 error/warning
的原因像 scenebuilder 这样创建 fxml 的工具使用 url 作为包含该工具使用的版本号的命名空间,例如
xmlns="http://javafx.com/javafx/8.0.111"
当使用早期版本的 JavaFX FXMLLoader
加载 fxml 时发出警告,因为它不能保证新版本的所有功能都已经可用。
这并不意味着您确实使用了不可用的功能,尽管这就是加载 fxml 可能会成功的原因。
我猜,您使用 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 或更高版本.