JavaFX - Derby 错误缺少 Launch4j 中的组件

JavaFX - Derby error missing components in Launch4j

我正在使用 intellij idea 制作一个 javafx 图书馆管理系统项目,该项目使用 derby 作为嵌入式数据库,它工作得很好,但是当我使用 intellij idea 中的 build artefact 选项将我的项目转换为 jar 文件时然后使用 launch4j 将该 jar 转换为 .exe 文件并尝试 运行 它,它会抛出一个

JavaFX runtime components are missing, and are required to run this application

我尝试通过 launch4j 中的 jvm 选项部分添加 jvm 选项,但随后我会收到另一个错误,提示我无法访问包含我想使用的其他 类 的子包: -

问题是当我 运行 .exe 文件时我希望这个程序 运行 所以有没有办法在我的代码中添加这些 jvm 选项,或者有更好的方法运行 具有不同扩展名的 javafx-db 程序?以及我应该如何在我使用子包的 jvm 选项中包含?

解决这个问题花了我一些时间,首先你需要将 DERBY_PATH 和 PATH_TO_FX 设置到你的库,然后你需要在 JVM 选项中添加这些命令

--模块路径 %DERBY_HOME%;%PATH_TO_FX% --add-modules javafx.controls,javafx.fxml,java.sql,java.desktop,javafx.swing,javafx.graphics

构建这将在 xml 文件中添加选项,每次您 运行 程序

时 运行s