使用IDEA调试DBeaver
- 工具准备
- 代码准备
- 准备 Eclipse IDE 和 workspace
- 在 Eclipse 中运行和调试
- 在 IDEA 中运行和调试
官方WIKI: Develop-in-IDEA
最近需要对DBeavar进行二次开发,整理一下搭建开发环境的步骤和遇到的一些问题
工具准备
IDEA版本:2019.3.3
Eclipse版本:2022-06 (4.24.0)
JDK版本:11.0.5
Mevan版本:3.8.6
代码准备
- 创建代码存放目录 如
D:\DBeaver
- 拉取代码
git clone https://github.com/dbeaver/dbeaver.git
git clone https://github.com/dbeaver/dbeaver-idea-project.git
可选: git clone https://github.com/dbeaver/dbeaver.wiki.git
- 启动IDEA->打开。选择文件夹
DBeaver/dbeaver-idea-project
- 此时可以看到 DBeaver 模块结构:
- 若项目不是通过 git 克隆至本地的,需自行修改 Modules 路径
点击 IDEA 右上角图标进入 Project Structure 界面
选择 Modules -> dbeaver,点击加号修改dbeaver路径
此时可以编辑代码但不能编译它,因为还没有配置 Eclipse 依赖项。
准备 Eclipse IDE 和 workspace
- 解压下载好的 Eclipse 至
D:\DBeaver
- 新建文件夹,修改文件夹名称为
workspace
- 启动 Eclipse,选择工作路径
- 官方的默认 Eclipse 版本是2021-12。由于在较旧和较新版本上构建可能会失败,因此需要安装一些 DBeaver 依赖的附加 Eclipse 插件(并且不包含在标准 Eclipse 发行版中):
- 打开主菜单
Help -> Install New Software
- 复制
http://dbeaver.io/eclipse-repo/
到 “Work with” 字段,然后按 Enter
-
检查所有插件并完成安装过程:
安装过程中会提示是否信任此无签名插件,选择 Select All -> Trust Selected -
关闭 welcome 标签页,双击右下角进度条
可在 Progress 标签查看插件安装进度,安装完成后会提示重启 Eclipse,点击 Restart Now -
重复上述步骤安装剩余插件
http://eclipse-color-theme.github.io/update
-
在 Eclipse 中运行导入向导,点击左上角 File -> Import
-
选择 Maven -> Existing Maven Projects
-
选择 dbeaver 路径,导入项目
-
如果 Eclipse 询问额外的插件安装 - 请同意
-
完成后重新启动 Eclipse,Eclipse 将自动构建项目。
-
点击右上角 View Menu -> Projects Presentation -> Hierarchical
-
如果某些模块构建失败(被标记为红叉),点击菜单 Project -> Update Maven Project
-
如果更新 Maven 项目后仍有模块构建失败,清空 D:\DBeaver\eclipse\workspace 目录下的文件,重新导入项目。
在 Eclipse 中运行和调试
- 导入 DBeaver 启动配置
- 点击Debug图标 打开 Debug configurations
- 点击Plug-ins -> Select Required,点击 Debug 开始调试。
至此,Eclipse 依赖配置完成。
在 IDEA 中运行和调试
- 点击 File -> Project Structure -> Project,配置项目 Java SDK (Java 11+),修改语言级别为11
- 点击 Global Libraries 配置 Eclipse 依赖
- 单击“添加”按钮。选择文件夹 D:\DBeaver\eclipse\plugins,修改库名为 ECLIPSE
- 单独添加 D:\DBeaver\eclipse\plugins\org.jkiss.bundle.* 目录下的所有依赖(若plugins下没有文件夹,跳过此步骤)
- 右键 ECLIPSE -> Add to Modules,将新库添加到除 dbeaver-idea-project 和 dbeaver.wiki 之外的所有 Module
- 提示是否取代旧库,长按回车确认
- 若未在 ECLIPSE 中添加 org.jkiss.bundle.* 路径,需在 Modules 内添加正确的 jar 包路径
- 使用 CTRL+F9 编译项目
- 添加启动包
DBeaver 是一个 Eclipse RCP,必须使用 Eclipse Equinox Launcher 包启动。这是一个特殊的 jar 文件,位于 Eclipse 插件文件夹中,需要将其直接添加到依赖项中以便能够调试。
- 点击 Modules -> dbeaver -> Dependencies,删除旧的 jar 包路径
- 点击加号,添加 D:\DBeaver\eclipse\plugins\org.eclipse.equinox.launcher_*.jar
- 配置 debug configuration
-
打开 Debug DBeaver Community
-
修改 Program arguments 内的配置
-
配置修改为
-launcher
D:\DBeaver\eclipse\eclipse.exe
-name
DBeaver
-product
org.jkiss.dbeaver.ui.app.standalone.product
-configuration
file:D:/DBeaver/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/DBeaver.product
-dev
file:D:/DBeaver/eclipse/workspace/.metadata/.plugins/org.eclipse.pde.core/DBeaver.product/dev.properties
-os
win32
-ws
win32
-arch
x86_64
-nl
en
-showsplash
-vmargs
-Xmx1024M
- 配置可于 Eclipse IDE 启动日志中查看
5.点击 Debug 按钮,启动项目