我真的快要抓狂了……我试图让 JavaFX WebView 工作,但没有成功。 StackOverflow 上的其他答案谈到了确保我的 JDK 是一个完整的 JDK,其中包括 JavaFX 及其所有相关库,但对我来说已经是这样了。奇怪的是,在另一个具有完全相同的 pom.xml 文件的 IntelliJ 项目中,WebView 可以工作!我一直在查看 git 中的差异,以找出可以解决该问题的方法,但没有什么突出的。正确的库似乎也存在于 IntelliJ 库文件树中,类似于
的项目当我尝试像这样
WebView
创建 new WebView()
的实例时,它会立即抛出此错误:
java.lang.UnsatisfiedLinkError: no jfxwebkit in java.library.path:...
任何有在 Mac 上使用 WebView 经验的人都可以提供一些有关如何正确将 WebView 添加到我的 Java 库的指导吗?非常令人困惑的是,在另一个项目上几乎相同的配置工作得很好,但在我的实际项目中使用时,根本不起作用。
该解决方案实际上与我运行它的 JDK 有关。看来,在我的 M1 Pro Mac 上,无论项目是什么,只有包含 JavaFX 的“完整”JDK 才能正确运行该项目。我能找到的唯一仍然包含 JavaFX 的 JDK 是 Liberica JDK,它仍然提供直至 JDK 19 的“完整”JDK,其中包含 JavaFX。
JavaFX 不再随 JDK 一起提供。只需将其包含为“正常”依赖项即可。操作方法可在 https://openjfx.io/openjfx-docs/#maven 获得。
对于gradle来说,这很“简单”
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.1.0'
}
javafx {
version = "22"
modules = [ 'javafx.controls' ]
}