M1版Mac IntelliJ中JavaFX SceneBuilder启动失败白屏如何解决
SceneBuilder启动报错、启动后空白屏排查解决步骤
问题现象:初始启动时弹出启动失败报错,后续启动软件仅展示空白屏幕
故障截图:
按以下优先级逐一排查即可解决绝大多数同类问题:
- 清理损坏的缓存文件
缓存损坏是该问题最高发诱因,先完全退出所有SceneBuilder进程,找到对应系统的缓存路径,删除路径下所有文件后重启软件:- Windows系统:打开资源管理器地址栏输入
%APPDATA%\SceneBuilder回车,清空该文件夹所有内容 - macOS系统:打开访达,按快捷键
Cmd+Shift+G输入~/Library/Application Support/SceneBuilder回车,清空文件夹内容 - Linux系统:直接删除
~/.scenebuilder目录下所有文件
- Windows系统:打开资源管理器地址栏输入
- 关闭硬件加速解决渲染兼容问题
JavaFX硬件加速和部分显卡驱动(尤其是核显、老旧独显驱动)存在兼容问题,会导致界面渲染空白:
找到SceneBuilder安装目录下的SceneBuilder.cfg配置文件(macOS系统右键点击应用图标选「显示包内容」,在Contents/app路径下可以找到该文件),在[JavaOptions]配置段新增一行参数:
保存配置后重新启动软件,该参数会强制使用软件渲染模式,绕过显卡兼容问题。java-options=-Dprism.order=sw - 校验运行环境版本匹配性
SceneBuilder版本和运行时Java版本不匹配也会触发启动异常:- SceneBuilder 17~22版本要求Java 17及以上版本运行环境
- SceneBuilder 11版本要求Java 11运行环境
- SceneBuilder 8版本对应Java 8运行环境
如果本地默认Java版本和安装的SceneBuilder要求的版本不一致,要么更换对应版本的SceneBuilder重装,要么修改cfg配置文件里的app.runtime参数指向对应版本的Java运行时路径。
- 排查第三方自定义组件冲突
如果之前导入过第三方自定义FXML组件,组件包损坏、编译版本不兼容会导致启动时加载卡死,表现为空白屏:
打开缓存目录找到custom-components子文件夹,把里面所有导入的第三方jar包全部移出文件夹,再启动软件。如果能正常打开,再逐个放回jar包排查具体是哪个组件导致的冲突。
内容的提问来源于stack exchange,提问作者Zack
相关产品推荐
相关产品推荐


