JavaFX .jar不起作用(引导层初始化期间发生错误)

问题描述 投票:0回答:1

在我的IDE(IntelliJ)中,程序运行没有任何问题。我尝试通过IDE创建JavaFX .jar,但它不起作用,但这似乎是JavaFX与JDK 11之间的已知兼容性问题。

此后,我尝试创建一个普通的.jar并通过以下命令执行它:

java --module-path "C:\Users\nerla\Desktop\Coding\JavaFX_SDK\javafx-sdk-11.0.2\lib" --add-modules=javafx-swt,javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.media,javafx.swing,javafx.web -jar "C:\Users\nerla\Desktop\Uni\Programming II\Mathdoku\out\artifacts\Mathdoku_jar\Mathdoku.jar"

它仍然不起作用,并产生以下错误:

Error occurred during initialization of boot layer
java.lang.module.FindException: Module javafx-swt not found
java javafx jar executable-jar
1个回答
0
投票

我在使用JavaFX 11创建JAR时遇到类似的问题。

解决方法是:

  • 在一个类中创建一个附加的main方法,该方法不会扩展应用程序,而只是调用您真正的main方法。
  • 在JAR中包含.so文件。

要在IntelliJ中做到这一点,是:

[文件>项目结构>工件>单击“ +”符号>文件>,然后选择JavaFX文件夹中的所有.so文件。

© www.soinside.com 2019 - 2024. All rights reserved.