将 JavaFX jmods 添加到 java --list-modules

Add JavaFX jmods to java --list-modules

前言:

我需要打开需要 Java 和 JavaFX 的 .jar 文件。我已经安装了 Java (from Oracle website) and JavaFX (SDK from openjfx website)。我通过更新 /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 mods。

我试过了:

  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 上。

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

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

不要下载和安装 SDK zip 文件。而是下载并安装 jmods zip 文件。