1

前言:

我需要打开需要 Java 和 JavaFX 的 .jar 文件。我已经安装了 Java(来自 Oracle 网站)和 JavaFX(来自 openjfx 网站的 SDK)。我通过更新/etc/environment文件添加了环境变量,并添加了JAVAFX_HOME="path/to/JavaFX".

/etc/environment文件看起来像:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/jdk-12.0.2/bin"
JAVA_HOME="/usr/lib/jvm/jdk-12.0.2"
JAVAFX_HOME="/home/joshi/Documents/javafx-sdk-12.0.2/lib"

现在,我可以通过执行以下命令来运行 .jar 文件:

java --module-path $JAVAFX_HOME --add-modules ALL-MODULE-PATH -jar myfile.jar

有多个 .jar 文件,这使得执行上述命令非常麻烦。.jar 文件的名称也非常不吸引人且复杂。

问题:

我想知道我是否可以将 JavaFX jmods 永久添加到 Java。例如,当我们在终端中执行时java --list-modules,它也应该包含 JavaFX 模块。

我努力了:

  1. 将 JavaFX jmod 文件复制到/usr/lib/jvm/jdk-12.0.2/jmods. 但即使重新启动后,java --list-modules也不包括 JavaFX 模块。我也跑过
    sudo update-alternatives --config java 
    sudo update-alternatives --config javac
  1. 我不认为创建 .sh 脚本文件是一个好主意,因为脚本文件需要与 .jar 文件一样多。

非常感谢任何帮助。我在 Kubuntu 上。

4

1 回答 1

3

您可以使用环境变量:_JAVA_OPTIONS. 此变量中指定的所有选项都将附加到 JVM 启动参数。

export _JAVA_OPTIONS="--module-path=/path/to/JavaFX --add-modules=ALL-MODULE-PATH"

于 2019-08-12T10:15:56.243 回答