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

时间:2020-03-12 16:23:37

标签: java javafx jar executable-jar

在我的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

1 个答案:

答案 0 :(得分:0)

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

解决方法是:

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

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

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