我实际上正在尝试遵循一个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或类似的东西,下面是从我在这个主题上找到的代码输出:
System.out.println("java version: "+System.getProperty("java.version"));
System.out.println("javafx.version: " + System.getProperty("javafx.version"));
输出:
Java 版本:1.8.0_121
JavaFX 版本: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,并发现了两个文件夹“java-1.8.0-openjdk-amd64”和“java-8-openjdk-amd64”(它们大小相同),所以可能是两个版本的冲突?我该怎么解决这个问题?
“alternative”命令对我不起作用,它显示了这个错误:
No command 'alternatives' found, did you mean:
Command 'galternatives' from package 'galternatives' (universe)
alternatives: command not found
我已经下载了Galternative应用程序,但是当我运行它时,在任何与“java”相关的替代方案中都找不到多个选择...
编辑: 在搜索了一段时间后,我发现了这个命令(sudo update-alternatives --config java),并使用它,以下是输出:
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)进行安装。