javafx - 是否可以在没有与模块路径相关的 VM 选项的情况下运行 JavaFX11+ 项目 jar?
问题描述
我的问题与这个问题很相似,但没有提供答案,我的目标略有不同,因为我想得到一个可执行文件:jar 文件的自动模块 VM 选项
因此,在 Oracle 从 JDK11+ 中删除 JavaFX Packager 工具后,我在部署 JavaFX 应用程序时遇到了问题。
在 JDK11 之前,我使用上述打包工具创建了一个带有相关数据的可执行文件,然后使用 Inno Setup Compiler 创建了一个安装程序,然后将其传递。
现在,我对替代方案的想法包括创建一个胖 jar(可以独立运行,包含所有使用的库),然后从中创建一个可执行文件。
我的问题是如果不添加如下所示的 VM 选项,创建的 jar 文件将无法成功运行。
我的问题有两个方面:
有没有办法在运行 jar 时避免添加这些 VM 选项?
还是有更聪明的方法来结束可执行文件?(我对创建批处理文件不感兴趣,一个可能的解决方案也应该适用于 JDK12)
java -jar Project.jar
// Error: JavaFX runtime components are missing, and are required to run this application
java --module-path=%PATH_TO_FX% --add-modules=javafx.controls,javafx.fxml -jar Project.jar
提前致谢!随意询问是否有任何不清楚的地方。
解决方案
推荐阅读
- fb-hydra - Hydra:使用 Compose API 覆盖 hydra.run.dir/working 目录管理
- python - 熊猫`hash_pandas_object`不会为重复的整体产生重复的哈希值
- c++ - 收到错误“未定义对 MainWindow 的引用”
- html - 无序列表布局和之后的段落的问题
- reactjs - React Material-UI - TablePagination - onChangePage 不是函数
- python - TypeError:不支持的格式字符串在 Python 中使用 f-string 传递给 NoneType.__format__
- javascript - 如何在Javascript中缩短多个if else语句
- android - Android 中的 URL 文件
- spring - 更正应用程序的类路径,使其包含一个兼容的 org.springframework.vault.support.SslConfiguration 版本
- django - 找不到 Django 中 TemplateResponse 返回的模板的页面