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

标签 java javafx module-path

前言:

我需要打开需要 Java 和 JavaFX 的 .jar 文件。我已经安装了 Java ( from Oracle website ) 和 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 jmod 永久添加到 Java。例如,当我们在终端 java --list-modules 中执行时,它也应该包含 JavaFX mods。

我尝试过:

  1. 复制 /usr/lib/jvm/jdk-12.0.2/jmods 中的 JavaFX jmod 文件。但即使重新启动后,java --list-modules 也不包含 JavaFX mods。我也跑过
    sudo update-alternatives --config java 
    sudo update-alternatives --config javac
  • 我认为创建 .sh 脚本文件不是一个好主意,因为需要与 .jar 文件一样多的脚本文件。
  • 非常感谢任何帮助。我在 Kubuntu。

    最佳答案

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

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

    关于java - 将 JavaFX jmod 添加到 java --list-modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57458954/

    相关文章:

    java - 用于检查字符串是否与包或其他包匹配的正则表达式

    java - 在回调中使用 "throws"关键字

    java - 默认情况下,模块路径上有哪些系统模块?

    java - 是否可以将第一个数组列表的内容连接到第二个数组列表

    Java 临时文件和自动删除

    java - 阻止程序终止的线程

    java - FXML 中的动态属性值?

    java - 将控制台输出重定向到 JavaFX TextArea?

    Java 模块和 JAR MANIFEST 类路径属性

    无法解析 Java 9 自动模块依赖项/找不到模块