JavaFX 11使用FXML引入WebView报ClassNotFoundException及LoadException求助
问题解决方法
问题根源
JavaFX的WebView组件独立存放于javafx.web模块,你当前的模块化项目配置未引入该模块,导致类加载失败触发异常。
修复步骤
- 第一步:修改
module-info.java,新增javafx.web模块依赖,调整后的完整配置如下:
module WebViewTest { requires javafx.fxml; requires javafx.controls; requires javafx.web; opens sample to javafx.fxml; }
- 第二步:校验构建依赖
- 如果你使用Maven/Gradle构建项目,需要确保依赖配置中已引入和其他JavaFX组件版本一致的
javafx-web依赖 - 如果你直接在IDE中绑定JavaFX SDK,需要确认SDK库中包含
javafx-web.jar文件
- 如果你使用Maven/Gradle构建项目,需要确保依赖配置中已引入和其他JavaFX组件版本一致的
- 可选:如果需要在Controller中操作WebView,可通过@FXML注入组件,参考示例:
package sample; import javafx.fxml.FXML; import javafx.scene.web.WebView; public class Controller { @FXML private WebView WV; @FXML public void initialize() { // 示例:加载指定网页 WV.getEngine().load("https://www.example.com"); } }
修改完成后重新构建运行项目即可正常加载WebView组件。
内容的提问来源于stack exchange,提问作者Datango
相关产品推荐
相关产品推荐

