【问题标题】:Can't compile from source files with Java 11 and JavaFX on Linux Debian 10无法在 Linux Debian 10 上使用 Java 11 和 JavaFX 从源文件编译
【发布时间】:2019-09-17 18:36:15
【问题描述】:

我对编译需要 JavaFX 的 Java 源代码库很感兴趣,但我一直遇到问题。我的 Java 安装似乎在我的系统上找不到 JavaFX 文件。

我尝试运行JavaFX Hello World 示例进行故障排除:

me@debian:~/samples/CommandLine/Modular/CLI/hellofx$ export PATH_TO_FX=/usr/lib/jvm/java-11-openjdk-amd64/lib
me@debian:~/samples/CommandLine/Modular/CLI/hellofx$ export PATH_TO_FX_MODS=/usr/share/openjfx/lib
me@debian:~/samples/CommandLine/Modular/CLI/hellofx$ javac --module-path $PATH_TO_FX -d mods/hellofx $(find src -name "*.java")
src/module-info.java:2: error: module not found: javafx.controls
    requires javafx.controls;
                   ^
1 error
me@debian:~/samples/CommandLine/Modular/CLI/hellofx$

包管理器显示我安装了 openjava-11-jdk 和 openjfx 包。所有 Java 文件都位于其默认安装位置。我也试过在 Maven 中编译。我遇到了类似的问题,使 Java 似乎找不到 JavaFX 文件。

我怎样才能让它工作?请记住,我对Java知之甚少。我现在并不是真的想学习这门语言。我只是想在 Debian Linux 中编译一些东西。我希望能够在 Bash 中编译 Java 源文件,可能使用 Maven。谢谢。

【问题讨论】:

  • 您的PATH_TO_FX 错误,它实际上应该是您用作jmods 路径的那个。
  • @JoséPereda 我认为这是在正确的轨道上,但它仍然没有运行。它不会在 Bash 中挂起或抛出错误,但它似乎没有运行任何东西。

标签: linux debian java compilation


【解决方案1】:

需要为 javac 添加“--add-modules javafx.controls”。 ("--add-modules ALL-MODULE-PATH" 用于懒惰的 ppls:)

$ echo $JAVAFX_HOME
/usr/local/java/javafx/14.0.0/javafx-sdk-14
$ javac --module-path $JAVAFX_HOME/lib --add-modules javafx.controls HelloFX.java
$

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2021-06-05
    • 2019-06-13
    • 2020-06-26
    • 2020-07-18
    相关资源
    最近更新 更多