冲突版本警告(JavaFX,JDK,JRE)

时间:2017-02-24 12:11:32

标签: java javafx version

我实际上正在尝试遵循JavaFX教程,当我让我的主应用程序运行以进行预览时,它会在控制台上显示此警告:

Feb 24, 2017 12:55:20 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.111 by JavaFX runtime of version 8.0.60
Feb 24, 2017 12:55:20 PM javafx.fxml.FXMLLoader$ValueElement processValue
WARNING: Loading FXML document with JavaFX API of version 8.0.111 by JavaFX runtime of version 8.0.60

我搜索了一下,似乎我有不同版本的JDK / JRE或类似的东西,这里是我在topic上找到的代码的输出:

System.out.println("java version: "+System.getProperty("java.version"));
System.out.println("javafx.version: " + System.getProperty("javafx.version"));

输出:
java版本:1.8.0_121
javafx.version:8.0.60

来自java -version命令的输出:

openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-8u121-b13-0ubuntu1.16.04.2-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

我去了这个位置:/ usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java 并找到2个文件夹“java-1.8.0-openjdk-amd64”和“java-8-openjdk-amd64”(两者都有相同的大小)所以也许这两个版本冲突?我该怎么办才能解决这个问题?

“替代”命令对我不起作用,它向我显示了这个错误:

No command 'alternatives' found, did you mean:
Command 'galternatives' from package 'galternatives' (universe)
alternatives: command not found

我下载了替代应用程序但是当我运行它时,我找不到任何“java”相关替代品的多个选择......

编辑: 在搜索了一下之后我发现了这个命令(sudo update-alternatives --config java)并使用它,这里是来自它的OUTPUT:

There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
Nothing to configure.

所以我想可以安全地假设这不是java的替代安装问题...

解决方案 我实际上是通过卸载openjdk-8并安装oracle Java-8来实现的 1)使用以下命令在基于ubuntu的发行版上卸载openjdk-8:
sudo apt-get purge openjdk-8-*(这里是一般性的卸载Java的一般教程http://www.2daygeek.com/remove-uninstall-oracle-java-openjdk-on-ubuntu-centos-debian-fedora-mint-rhel-opensuse/

2)使用此命令安装Oracle Java-8:

sudo apt-get install oracle-java8-set-default

或遵循本教程(http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html

1 个答案:

答案 0 :(得分:1)

最后,这里的问题是JavaFx运行时文件与本地系统上安装的JRE / JDK不匹配。

特别是对于Linux,这两者经常来自"不同的"路径。 OpenJDK通过分发包管理系统安装;而不使用JavaFx库/工具。

为了克服这些潜在的问题,最简单的"方法是使用"原始"来自Oracle的JDK。这可以是偶然的"尝试"无需进行改变系统的完整安装:只需将JDK作为存档从Oracle下载并在本地解压缩即可。

相关问题