【发布时间】:2017-07-15 06:25:16
【问题描述】:
我实际上是在尝试学习 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)并使用了它,这是它的输出:
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)
【问题讨论】:
-
您的发行版可能没有更新
openjfx包,或者您可能没有安装最新版本。如果您使用的是最新的 openjfx 包,最简单的解决方案是切换到完整的 Oracle 的 JRE(即 - JavaFX 不单独打包) -
好吧,我会从这个链接 (oracle.com/technetwork/java/javase/downloads/…) 下载它,但是我如何在安装新的之前卸载我正在使用的那个,这样我就不会遇到版本冲突的问题?
-
没关系,我只需要转到 eclipse.ini 并在 -vm 行 (/usr/lib/jvm/java-8-oracle/jre) 下设置我的新 java 安装的正确路径/bin) 并且它有效,我尝试运行我的 JavaFx 应用程序,但我没有收到该错误,我将更新我的第一篇文章并将其标记为已解决,谢谢你的帮助 :)
-
当然感谢您的帮助(抱歉,这是我在这个论坛上的第一篇文章,我还不熟悉投票系统)