ControlsFX - Exception in thread "ControlsFX Error: ControlsFX 8.40.10 requires at least Java Version 8 Update 40

ControlsFX - Exception in thread "ControlsFX Error: ControlsFX 8.40.10 requires at least Java Version 8 Update 40

我看过其他类似的问题。我能告诉你的是: 该程序在一周前运行。 我没有改变场景构建器。 我记得下载了一个新的 JRE,它是 1.8.0_101-b13。 这是在 Linux 64 位上。 在同一个程序中,Lambda 通知仍然有效。 我只是将 scenebuilder 从 8.0.0 升级到 8.2.0。但我并没有积极处理 fxml 文件。

我认为唯一的变化是 JDK/JRE 最近的升级。默认计算机与默认运行时版本相同。

我发誓可以通过更改 scenebuilder 的版本解决另一个问题...从表面上看,这没有任何意义。尽管 Gluon 提供了一个新的 SceneBuilder。

此问题已通过将 ControlsFX 从 8.40.10 升级到 8.40.11 版本得到解决。

issue 已于 2016 年 4 月 13 日针对 ControlsFX 8.40.x 解决,但 ControlsFX 8.20.x 仍然存在这个问题(8.20.9 于 2015 年 6 月 2 日发布)。

解决问题:

  • 使用 ControlsFX 8.40.x 或更高版本,或者
  • 使用具有两位数次版本号的 Java 版本(8u20 和 8u40 将没事)。

错误是什么?好吧,ControlsFX 将 Java 和 ControlsFX 的次要版本作为 String 值进行比较:“40”被认为高于“101”,因为第一个字符“4”高于“1”(source).实施的修复将版本字符串解析为 Integer 值。