具有Javafx 13的非模块化Java:install4j VM参数

时间:2019-11-03 18:17:36

标签: javafx jvm install4j

JAVAFX的Install4J VM参数似乎没有传递给JVM

对于依赖于JAVAFX的非模块化应用程序,建议的方法是添加

"--module-path ${PATH_TO_FX} --add-modules ALL-MODULE-PATH"

或Java命令行的特定模块。这很好。但是,当使用install4j创建安装程序并将其包含在安装程序的Java Invocation VM参数字段中时,该应用程序不会启动并报告error:java.lang.RuntimeException: No toolkit found

这是自更新到Java 11+之后的新行为(提供了模块化和JavaFX分离)。由于其他原因,我们还不希望将整个应用程序模块化。该代码在Eclipse中可以正常运行,并且可以通过手动命令行或bat启动。我们还尝试将带有这些参数的VMoptions文件包括在内而无济于事。

当前正在运行AdoptOpenJDK-13,JAVAFX-13和Install4J 7.0.12

--module-path ${PATH_TO_FX} --add-modules ALL-MODULE-PATH

我们如何创建具有与命令行相同的启动行为的install4j安装程序-识别javafx-而仍不模块化整个应用程序?

命令行参数为:

"--module-path ${PATH_TO_FX} --add-modules ALL-MODULE-PATH"

运行install4j启动器时的扩展错误为:

java.lang.RuntimeException: No toolkit found
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:272)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:830)

0 个答案:

没有答案