前言
dbeaver或者cloudbeaver 官方文档中提到未在MAC电脑中进行过开发, 但是issue中是有人使用mac开发的, 本文档建议window 10 eclipse 开发, idea也可以在eclipse本地开发完成后使用. 无论使用哪个一定要先安装eclipse.
cloudbeaver依赖于dbeaver开发, 本地开发需要将两个项目同时拉取下拉并且先将dbeaver在eclipse中正确运行方可保证cloudbeaver本地开发.
代码版本
release_22_3_0
下载版本: **release_22_3_0 **或者最新开发版本 dev
环境搭建
为确保项目可以正常运行, 需要先进行环境检查 release_22_3_0 版本所需环境 , 如果你开了代理VPN, 最好在安装前端时候关掉
-
Java 17
-
Apache Maven 3.8.6
-
Node.js 16.16.0
-
NPM (官方未做版本要求,本次开发使用版本6.1.0 )
-
Yarn 1.22.19
-
Lerna 6.1.0 (官方未做版本要求,本次开发使用版本6.1.0 )
-
python ( 前端依赖python 官方未确认, 本次开发过程中需要, 3.6.0 )
Maven 情况注意: xml中如果配置了 aliyun 的仓库地址 可能下载tycho包错误, 目前没有选择国内镜像地址.只配置了本地仓库的地址
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
请确认所有版本是否符合要求, 否则后期将造成各种问题
编辑器Eclipse
*** 版本2022_06: 不同版本会造成插件安装错误的问题, 建议使用2022_06. (09已经错误,进而切换为06)***
下载地址: https://www.eclipse.org/downloads/packages/release/2022-06/r
请确认安装版本为: Eclipse IDE for RCP and RAP Developers 版本
(普通版本未测试, 官方据说无法启动本项目)
编辑器配置
-
请首先配置本地maven
-
tycho插件安装. 正常是不用安装的, 可以等导入了项目自动安装
运行Dbeavr
**按照此步骤完全一步一步的导入dbeaver , **
使用eclipse运行DBeaver源码踩坑日记_迟迟@的博客-CSDN博客_dbever 源代码
**如果最终dbeaver项目起不来 , 那就删除了重新来过. 不要怀疑文档的正确性, 它确实是正确的. **
运行Cloudbeaver
首先进入图1这个目录. 这里是cloudbeaver的代码第一级目录, 进入其下的deploy目录. 里面有两个脚本, window 系统就执行build.bat , 直接双击运行就可以了, 没试过build.sh .
请看下方第一张图:
文件夹的名字 一定要是dbeaver 和cloudbeaver , 如果不是这样,就自己改好. ( 这是因为脚本里面写的固定的文件夹的名字, 如果不对脚本执行一定报错)
运行这个脚本会进行很长时间的build, 用于先构建后端代码, 然后是前端代码
***后端一共有将近100 个model , 全部构建完成后端才算是构建成功了, 就是mvn install 最终success的那个. ***
***后端构建完成后会自动构建前端, 最终结果如图. ***
不管是在运行这个脚本的过程中出现任何的错误, 都代表脚本执行失败了, 那么此时需要做的就是检查这个步骤以上的所有步骤, 直到脚本执行最终成功. 否则再往下进行也是浪费时间.
构建完成
最终构建完成之后, 会生成 cloudbeaver/deploy/cloudbeaver 这个文件夹
可以打开这里面各个文件夹看一眼, 里面要是都没有东西或者文件夹数量都不够, 那肯定起不来. 比如drivers文件夹可能就没有,
这个时候, 已经可以运行 run-server.bat 脚本了, 运行的话 最终可以通过下边的连接访问到这个项目了.
导入Eclipse
官方文档: https://github.com/dbeaver/cloudbeaver/wiki/Develop-in-Eclipse
File - import
选择 browse 选择 cloudbeaver/server文件夹, (外边都是前端和一些其他配置脚本, 代码在server里面, 因为我已经导入过了, 所以project那里面的多选框没有选中, 正常会都选中)
**导入之后等待加载完成 , 等待eclipse右下角都没有加载条的时候重启一下eclipse. **
(一定要重启, 否则会有好多报错, 不过就算重启后也可能会报错, _ )
如果各种报错就更新maven , 重启一下eclipse .
如果运气好 : 加载完成之后 dbeaver 和cloudbeaver导入完了都没有错误, 那可以试试启动cloudbeaver了
如果报错位置是图画的这个地方, 那么问题不大, pom.xml里面的 这一行 eclipse-plugin. 可能所有模块的pom 都报错, 但是可以不用管.
导入启动配置文件, 在下边这个路径下边 CloudbeaverServer.product 这个文件
**\项目路径\cloudbeaver\server\product\web-server\CloudbeaverServer.product **
(因为我已经选过了, 所以这里已经看不见了)
选择启动配置
这里配置错了就起不来了
Main
Argments
这个路径就是在上面 : 运行cloudbeaver 那一章节的目录 一定要选择这个 否则就起不来
plugn-ins
首先选择 必要的
输入 : sl 一定不要选择 sl4j 这个包, 否则就起不来
都弄好以后 点击 RUN , 可能会弹框报错, 但是可以先试试, 如果能启动的了, 那就不用管他,
启动完成的日志
浏览器访问
下载地址
前端 安装方式
Index of /download/release/v16.16.0/
Nodejs安装教程_彭佼的博客-CSDN博客_nodejs安装
npm yarn 查看版本以及更新_船长在船上的博客-CSDN博客_查看yarn版本
IDEA 导入
Dbeavr
一定要先在eclipse中启动完成之后再在idea中进行开发, 也就是上面的所有步骤做完之后.
此文档提供dbeaver的导入idea开发,
使用IDEA调试DBeaver_lddqwq的博客-CSDN博客_dberver 使用idea
cloudbeaver
eclipse中导入并且启动成功项目之后 , 再在idea中进行启动
看清楚这个目录是deploy中的build之后的cloudbeaver plugin目录
添加 eclipse安装包中的plugin 的中的jar包 在eclipse的安装目录里面
注意这几个参数
最后一行的配置需要调整到对应位置
F:\eclipse_2022_6_1\eclipse\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre\bin\javaw.exe
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
-Declipse.pde.launch=true
--add-modules=ALL-SYSTEM
-Djava.security.manager=allow
-Dfile.encoding=UTF-8
-classpath
"F:\eclipse_2022_6_1\eclipse\plugins\org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar"
-XX:+ShowCodeDetailsInExceptionMessages
org.eclipse.equinox.launcher.Main
-launcher
"F:\eclipse_2022_6_1\eclipse\eclipse.exe"
-name
Eclipse
-showsplash
600
-product
io.cloudbeaver.product.ce.product
-data
"E:\Project\dbeaver\test_12_idea_22.3.0\cloudbeaver\server\runtime-DBeaverWebServer.product"
-configuration
file:E:/Project/dbeaver/test_12_idea_22.3.0/.metadata/.plugins/org.eclipse.pde.core/CloudbeaverServer.product/
-dev
file:E:/Project/dbeaver/test_12_idea_22.3.0/.metadata/.plugins/org.eclipse.pde.core/CloudbeaverServer.product/dev.properties
-os
win32
-ws
win32
-arch
x86_64
-nl
zh_CN
-consoleLog
-web-config
64
-nl
zh_CN
-consoleLog
-web-config
E:\Project\dbeaver\test_12_idea_22.3.0\cloudbeaver\deploy\cloudbeaver/conf/cloudbeaver.conf
功能总结
功能模块 | Dbeaver | Cloudbeaver |
---|---|---|
底层库
底层库22_3_0版本为 h2
如果需要把原来的底层库更换为自己的指定的库, 需要在build.sh执行之前更改这个文件, 或者更改之后重新执行
\cloudbeaver\config\sample-databases\DefaultConfiguration\cloudbeaver.conf