java - 如何使用 OpenWebStart 在 Webstart 应用程序中使用 Openjfx

标签 java openjfx openwebstart

我们正在使用 Openjfx ( https://openjfx.io ) 和 OpenWebStart ( https://openwebstart.com ) 将 Java 1.8 JavaFX/Webstart 应用程序迁移到 Java 11。

我们成功地将应用程序迁移并运行到 JavaFx-14 (OpenJfx)。现在要在 IDE 中运行它,需要包含以下 jvm 参数:

 --module-path 'path/javafx-sdk-11.0.2/lib' --add-modules javafx.controls,javafx.fxml

我们使用 Maven 构建应用程序。它在 Java 1.8 上运行得很好。它对所有 jar 进行签名,创建包和 jnlp 文件。 Maven 还创建一个包含所有依赖项的“uber jar”。我们迁移了 POM,包括新的部门。我们通过命令行使用 uber jar 文件手动运行应用程序(使用 --module-path 参数)来测试它。

我们在 .jnlp 文件中包含了 --module-path 参数:

    <?xml version="1.0" encoding="utf-8"?>
    <jnlp
      spec="1.0+"
      codebase="http://localhost:8080/download/"
      href="myapp.jnlp">
      <information>
        <title>MyApp</title>
        <vendor>Myself</vendor>
        <homepage href="http://localhost:8080"/>
        <description>My App</description>
        <description>Migration test</description>
        <offline-allowed/>
      </information>

      <security>
         <all-permissions/>
      </security>    

      <resources>
        <j2se version="11" 
          initial-heap-size="256m" 
          max-heap-size="2048m" 
          java-vm-args="-Xms256m -Xmx4096m -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 --module-path '/Users/chocksmith/Desktop/javafx-sdk-11.0.2/lib' --add-modules javafx.controls,javafx.fxml"/>
        <jar href="myapp-5.0.0.jar"/>
      </resources>
      <application-desc main-class="com.mycompany.myproduct.application.App"/> 
    </jnlp> 

不幸的是它失败了:

Caused by: java.lang.ClassNotFoundException: javafx.application.Application
    at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:670)

我们已经没有想法了。请指教!

最佳答案

OpenWebStart 现在在常见问题解答中提供了有关运行基于 JavaFX 的应用程序的几点信息:https://github.com/karakun/OpenWebStart/blob/master/documentation/faq/FAQ.adoc

如果这没有帮助,请在https://github.com/karakun/OpenWebStart/issues打开一个问题

关于java - 如何使用 OpenWebStart 在 Webstart 应用程序中使用 Openjfx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61012823/

相关文章:

java - 间歇性 SSL 握手错误

Java:即使满足条件,do/while循环也会重复

java - 如何在Android Studio中运行JavaFX并制作ImageView

java - 如何在 Spring Boot 中指定回退请求映射

java - PropertyValueFactory 模型类中正确的 getter 错误

java - 在 OpenJFX 中使用 SwingNode 出现不满意的链接错误

java - 打包非模块化JavaFX应用程序

java - OpenWebStart + IcedTea-Web : j2se element