JetBrains DataGrip的JavaFx错误提示及修复

这两天(20200409)手欠升级了DataGrip(JetBrains的数据处理工具),没想到升级完成后一打开就报了下面的错误:

Tried to use preview panel provider (JavaFX WebView), but it is unavailable. Reverting to default.

后来发现是markdown文档插件的问题。关键是这个Markdown插件是JetBrains官方提供的,没想到居然也会报错。

因为吃过一次类似的亏,所以后来注意到错误提示中的JavaFx字样后第一反应就是“是不是DataGrip嵌入的JRE升级到了JDK11”。

查看DataGrip的about信息,看到JDK版本是11.05。看样子就是这个问题了。

第一个思路是将JavaFx的相关依赖放到Markdown插件的lib目录下。去官网下载了JavaFx,解压后将lib目录下的jar文件放到Markdown插件的lib目录下,重启,继续报错。该方案失败!

第二个思路很直接,既然放在插件目录下不行,那就放到DataGrip的依赖目录下。这次尝试将JavaFx的jar放到DataGrip安装目录下的lib目录下。重启DataGrip,打开Markdown文件后没有报错,我一度以为我成功了,但是接下来就发现DataGrip卡死了。只好杀死进程,删除放到DataGrip安装路径lib目录下的JavaFx相关jar后再想其他办法。

第三个方案是在JetBrains社区找到的,是可行的。所以简要介绍下步骤:

  1. 安装插件Choose Runtime,重启DataGrip
  2. 在菜单栏中选择Help->Find Action(快捷键Ctrl+Shift+A)打开快捷窗口,在Actions选项卡下输入Choose Runtime,然后Enter调用ChooseRuntime插件
  3. 选择JRE,可以直接选择自己安装的JRE,也可以选择下载JetBrains提供的JRE并安装,完成后DataGrip会重启

重启后打开Markdown文件不再报错。问题得到解决。不过,美中不足的是发现打开的DataGrip多了一个难看的Windows标题栏。解决的方法也比较简单,换一个本机安装的JetBrains其它产品(比如IDEA或PyCharm)的嵌入JRE就可以了。

JetBrains也有提供独立的JRE,点击此处进行下载。

修改“idea.config.path\<product>.exe.jdk”文件也可以完成JRE的配置。

JetBrains嵌入的JRE在本机的地址为产品安装目录下的jbr目录,比如我机器上DataGrip嵌入的JRE路径如下:

就这样!End!


发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据