Linux Mint的Java和JavaFX

user02814:

我运行Linux Mint的19.1,并已安装了OpenJDK的运行环境。我没有安装Eclipse和这个问题,它没有提供足够的细节要清楚什么OP的问题其实是,似乎并不尽管标题尤为重要。

> java --version
OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1)
OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing)

由于安装Java,我还安装javafx使用我发现了信息问Ubuntu的apt报告如下:

> sudo apt install openjdk-11-jdk openjfx
...
  openjdk-11-jdk is already the newest version (11.0.3+7-1ubuntu2~18.04.1).
  openjfx is already the newest version (11.0.2+1-1~18.04.2).

我现在遇到的问题是该行import javafx;导致以下错误:

> java CheckJavaFX.java
CheckJavaFX.java:1: error: package javafx.application does not exist
import javafx.application.Application;
                     ^
1 error
error: compilation failed

如何解决这个问题呢?

何塞佩雷达:

基于你做了什么:

sudo apt install openjdk-11-jdk openjfx

您已经安装了两个不同的东西:

  • 一方面,openjdk-11-jdk安装最新的JDK 11.0.3,在此基础上的细节

  • 另一方面,openjfx根据安装的JavaFX 11.0.2

如果检查后,你只是下载了JavaFX SDK(JavaFX的罐子和本地库),以给定的位置,但你不与JDK捆绑它。

这说明你的错误,因为JDK并没有包含任何的JavaFX模块:

错误:包javafx.application不存在

即使你尝试做一个“手动合并”,通过复制这些文件到JDK的位置,这将不能工作。

为了直接从SDK使用JavaFX的11+,您必须将jar添加到模块路径,就像在文件中解释https://openjfx.io/openjfx-docs/

另外,您可以使用Maven或摇篮编译工具和JavaFX的插件,这将不要求SDK,并使用Maven中心检索JavaFX的模块。

最后,如果你窗台想使用JavaFX的捆绑在一起的JDK(不含模块路径),您可以下载不同的分布,这些包是(有几个在那里),或者可以“合并”的JDK和JavaFX的SDK自己,产生的自定义图像,结合两者,如下解释:https://openjfx.io/openjfx-docs/#modular,部分自定义JDK + JavaFX的图像。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章