一·背景
操作系统:win10
dbeaver版本:5.2.2
一直用的好好的dbeaver突然不能正常使用了,下载新版本依然不行,提示:发生了错误。请参阅日志文件,
二·错误日志
来到提示的目录 C:\Users\bin.dbeaver4.metadata 查看.log错误日志 如下:

简单分析一下错误日志
java.version=11 表示我使用的jdk版本,最近操作系统升级到了jdk11,dbeaver我下载的是外置jre版本,所以这里打印的版本是11。
关键异常信息:java.lang.NoClassDefFoundError: javax/annotation/PreDestroy
PreDestroy 找不到是因为 Jdk9开始使用模块化,PreDestroy需要手动添加才可以支持。
我们来到dbeaver的根目录 打开 dbeaver.ini

发现参数内 已经有了add-modules=ALL-SYSTEM 还是NoClassDefFoundError。不知道是不是dbeaver还不兼容jdk11 ,换其他的解决方案。
三·解决方案
打开dbeaver根目录下的readme.txt

我们使用-vm参数 指定jdk为jdk8的目录。
1·右键点击dbeaver.exe发送到桌面快捷方式

目标处填写-vm参数:D:\dbeaver\dbeaver.exe -vm “C:\Program Files\Java\jdk1.8.0_45\bin”
使dbeaver 启动的时候 使用指定的Jdk即可。
该博客讲述了作者在使用Dbeaver时遇到的问题,即在升级到JDK11后,dbeaver无法正常启动,显示NoClassDefFoundError。通过分析错误日志,确定问题是由于JDK9及以上版本的模块化导致的。尝试在dbeaver.ini中添加参数未解决问题。最终,博主通过在dbeaver快捷方式中指定JDK8路径解决了问题,确保dbeaver使用兼容的JDK版本启动。
4005

被折叠的 条评论
为什么被折叠?



