【问题标题】:Add JavaFX jmods to java --list-modules将 JavaFX jmods 添加到 java --list-modules
【发布时间】:2019-08-12 09:48:52
【问题描述】:

前言:

我需要打开需要 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 jmods 永久添加到 Java。例如,当我们在终端java --list-modules 中执行时,它也应该包含JavaFX mods。

我试过了:

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

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

【问题讨论】:

标签: java javafx module-path


【解决方案1】:

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

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

【讨论】:

  • 设置_JAVA_OPTIONS="--module-path /path/to/JavaFX --add-modules ALL-MODULE-PATH" 引发以下错误:Picked up _JAVA_OPTIONS: --module-path /home/sanmay/Documents/javafx-sdk-12.0.2/lib --add-modules ALL-MODULE-PATH Unrecognized option: --module-path Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.
  • 当你使用=而不是空格时它是否有效?例如:--module-path=/path/to/JavaFX --add-modules=ALL-MODULE-PATH
  • 我也得到了错误:无法创建 Java 虚拟机,但后来我在 java fx 路径周围添加了引号:“--module-path=/path/to/JavaFX”并且它工作(Windows)
猜你喜欢
  • 2018-07-17
  • 1970-01-01
  • 1970-01-01
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
相关资源
最近更新 更多