我们正在使用Openjfx (https://openjfx.io)和OpenWebStart (https://openwebstart.com)将Java1.8JavaFX/Webstart应用程序迁移到Java11。
我们成功地将应用程序移植并运行到JavaFx-14 (OpenJfx)上。现在要在IDE中运行它,需要包含以下jvm参数:
--module-path 'path/javafx-sdk-11.0.2/lib' --add-modules javafx.controls,javafx.fxml我们使用Maven构建应用程序。它在Java 1.8上运行得很好。它对所有jars进行签名,创建包和jnlp文件。Maven还创建了一个包含所有依赖项的“超级jar”。我们迁移了POM,包括新的deps。我们通过命令行使用uber jar文件(使用--module-path参数)手动运行应用程序对其进行了测试。
我们在.jnlp文件中包含了--模块路径参数:
<?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)我们的想法已经用完了。敬请指教!
发布于 2020-06-19 22:59:30
OpenWebStart现在提供了几个关于在常见问题解答中运行基于JavaFX的应用程序的要点:https://github.com/karakun/OpenWebStart/blob/master/documentation/faq/FAQ.adoc
如果这不起作用,请在https://github.com/karakun/OpenWebStart/issues上打开一个问题
发布于 2020-04-04 01:26:35
FX必须捆绑在客户端的JDK中。
我们设法使其与Zulo社区版本13.29.11一起工作
https://www.azul.com/downloads/zulu-community/?architecture=x86-64-bit&package=jdk-fx
使用"OpenWebStart Settings.app“应用程序在您的系统上配置正确的JVM。
https://stackoverflow.com/questions/61012823
复制相似问题