JavaFX FXML API版本警告

时间:2016-02-04 19:41:02

标签: java javafx fxml

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

  

警告:使用版本8.0.60的JavaFX运行时版本8.0.60的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"

但我认为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?我会调查一下。

8 个答案:

答案 0 :(得分:30)

如果您使用以下表单:

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

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

答案 1 :(得分:6)

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

因此,您应下载相同版本的JDKJRE

您可以在 命令提示符 中查看当前的java版本,

java -version

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

System.out.println(System.getProperties());

答案 2 :(得分:3)

我也有这个问题。我管理它只是为了更改* .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代,它可能会有所不同。

答案 3 :(得分:1)

我有同样的问题。 Dunno,你们正在运行什么IDE,但是我在Eclipse上修复了它。

JRE系统库右侧的项目浏览器中,它显示 [J2SE-1.5] 。 我右键单击 JRE系统库,进入属性。 从执行环境切换到工作区默认环境

如果在工作区默认环境括号内,则不会显示您最新的jdk版本,例如。 (jdk1.8.0_192),您可以通过选择 Installed JREs 按钮并切换选中的JRE来更改它。

如果未列出您的jdk,请使用 ADD 按钮将其添加,然后选择您的JDK目录。 C:\ Program Files \ Java \ jdk1.8.0_192,作为主目录。

万一出于某种原因,您不想更改默认环境,只需选择备用JRE 而不是工作区默认JRE 。然后从下拉菜单中选择正确的SDK。

PS。是的,您可以在fxml文件中的xmlns选项下更改版本,但是每次在Scene Builder中修改fxml时,都必须更新条目。

答案 4 :(得分:1)

我也在加载sxml文件时遇到了samme问题 警告:通过版本8.0.111的JavaFX运行时,使用版本8.0.171的JavaFX API加载FXML文档。 然后我去了甲骨文网站并更新jre直到171更新了Java 8.0 enter image description here

答案 5 :(得分:0)

我在Linux上使用Intellij IDEA遇到了同样的问题。我已经通过安装最新的Oracle JDK 解决了这个问题,并在IDEA的“Project Sturucture”设置菜单中提供了它的路径:

文件/项目结构/平台设置/ SDK

答案 6 :(得分:0)

我遇到了同样的问题,但是我通过执行以下步骤解决了问题

如果使用的是Intellij IDEA,请转到文件->项目结构-> SDK ,然后单击(-)标记删除之前拥有的所有其他JDK,然后单击在(+)符号上,从您的 C:\ Program Files(x86)\ Java \ jdk1.8.0_172 中将新的JDK添加到项目中。

答案 7 :(得分:0)

我也一样。正如您提到的那样,场景构建器版本为8.1.0,而Javafx版本为8.0.60。好吧,他们与众不同:) 两种解决方法

  • 卸载当前的场景生成器并安装与您的Javafx版本相同的
  • 每次使用场景生成器编辑FXML文件时,请将标头中的xmlns属性更改为Javafx版本

例如,当我使用场景构建器10.0.1时,我的javafx版本是9.0.1,但是在场景构建器中编辑后,我会更改

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

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

为了自己的缘故:)