小编Com*_*sci的帖子

模块化 Java 13 / JavaFx WebWiew 在 jlinked 时无法显示

我在嵌入窗口中显示网页时遇到问题,但仅在创建独立的 jlinked 包且仅适用于某些 https 站点时。

我按照https://openjfx.io/openjfx-docs/#install-javafx上的说明创建了一个简单的模块化应用程序,并且从命令行运行时效果很好

java --module-path "%PATH_TO_FX%;mods" -m uk.co.comsci.testproj/uk.co.comsci.testproj.Launcher
Run Code Online (Sandbox Code Playgroud)

但在使用命令 jlink 之后

jlink --module-path "%PATH_TO_FX_MODS%;mods" --add-modules uk.co.comsci.testproj --output launch
Run Code Online (Sandbox Code Playgroud)

并与运行

launch\bin\java.exe -m uk.co.comsci.testproj/uk.co.comsci.testproj.Launcher
Run Code Online (Sandbox Code Playgroud)

javaFx 场景打开,但只是一个空白屏幕...我必须使用任务管理器来终止应用程序。

如果我将 URL 更改为其他 https 站点,则显示正常。

我想这取决于某处的安全设置和策略,但我不知道从哪里开始。

我尝试使用 WireShark 进行监控,这表明当从 java 运行并且它可以工作时,它会执行一些 TLSv1.3 操作来建立连接。当作为 jlinked 包运行时,它只执行 TLSv1.2 的操作。也许有线索?

这是我的 SSCE:

模块信息.java

module uk.co.comsci.testproj {
    requires javafx.web;
    requires javafx.controls;
    requires javafx.media;
    requires javafx.graphics;
    requires javafx.base;
    exports uk.co.comsci.testproj;
}
Run Code Online (Sandbox Code Playgroud)

启动器.java

java --module-path "%PATH_TO_FX%;mods" -m uk.co.comsci.testproj/uk.co.comsci.testproj.Launcher
Run Code Online (Sandbox Code Playgroud)

主应用程序.java

jlink --module-path "%PATH_TO_FX_MODS%;mods" --add-modules uk.co.comsci.testproj --output launch
Run Code Online (Sandbox Code Playgroud)

非常感谢任何帮助。

ssl javafx webview jlink java-platform-module-system

2
推荐指数
1
解决办法
371
查看次数