我最近在启动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?我会调查一下。
答案 0 :(得分:30)
如果您使用以下表单:
xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
版本控制被忽略。如果您与其他版本存在兼容性问题,则只需要它。
答案 1 :(得分:6)
我认为您的JDK
版本为1.8.0_60
,JRE
版本为1.8.0_65
。
因此,您应下载相同版本的JDK
和JRE
。
您可以在 命令提示符 中查看当前的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
答案 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。好吧,他们与众不同:) 两种解决方法
例如,当我使用场景构建器10.0.1时,我的javafx版本是9.0.1,但是在场景构建器中编辑后,我会更改
xmlns="http://javafx.com/javafx/9.0.1"
到
xmlns="http://javafx.com/javafx/9.0.1"
为了自己的缘故:)