Jigsaw 模块(命令行/无 IDE):java.lang.module.FindException:找不到模块 javafx.base,main.java.com.injection.configuration 需要

Jigsaw Modules (Command Line/no IDE): java.lang.module.FindException: Module javafx.base not found, required by main.java.com.injection.configuration

提问人:Chisey88 提问时间:11/10/2023 更新时间:11/10/2023 访问量:18

问:

我正在尝试学习“新”的 Jigsaw 模块系统,并且我正在尝试通过 Windows 命令行/没有 IDE 从头开始构建一个简单的应用程序(因为它是 oracle 证书所必需的)。

现在我遇到了一个问题,我的应用程序需要一些javaFX模块,这些模块我已经在我的module-info.java文件中定义了:

module main.java.com.injection.configuration{

requires javafx.base;
requires javafx.fxml;
requires javafx.graphics;

}

我从 Maven 存储库复制了 jar 文件(所有 javafx jar 也是模块)并将它们放在 mods 文件夹中。

之后,我成功编译了应用程序。

$ javac --module-path mods/ -d out/ src/main/java/com/injection/configuration/*.java src/main/java/com/injection/injection/*.java src/main/java/com/injection/views/*.java src/module-info.java

Note: src\main\java\com\injection\injection\Injector.java uses or overrides a deprecated API. Note: Recompile with -Xlint:deprecation for details.'

但是,一旦我尝试运行应用程序,就会抛出以下异常(尽管所有必要的jar都在文件夹中):

$ java --module-path out/ --module main.java.com.injection.configuration/main.java.com.injection.configuration.Configuration

Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.base not found, required by main.java.com.injection.configuration

请你帮我吗?通过命令行处理“外部”jar(例如:来自 openjfx sdk)的正确方法是什么 亲切问候

java windows 命令行 java-platform-module-system

评论


答: 暂无答案