百日完成国产数据库opengausss的开源任务--如何开发opengauss工具DataStudio
🍣 如 何 开 发 一 个 o p e n g a u s s 的 客 户 端 D a t a S t u d i o \textcolor{green}{如何开发一个opengauss的客户端DataStudio} 如何开发一个opengauss的客户端DataStudio🍣
🍣 根 据 社 区 的 教 程 搭 建 开 发 环 境 \textcolor{green}{根据社区的教程搭建开发环境} 根据社区的教程搭建开发环境🍣
🍣 本 文 的 重 点 是 搭 建 时 候 出 现 的 问 题 以 及 解 决 方 式 \textcolor{green}{本文的重点是搭建时候出现的问题以及解决方式} 本文的重点是搭建时候出现的问题以及解决方式🍣
欢迎各位小伙伴😄关注👍点赞⭐️收藏📝留言
希望可以多交流,共同进步🤭 |
注意看源码地址的README.md
环境准备
Eclipse开发工具
Version: 2020-09 (4.17.0) 其他也可以注意需要Eclipse IDE for RCP and RAP Developers
下载地址:官方下载地址JDK11
下载安装JDK11 下载地址 ,并配置JAVA_HOME
环境变量。JDK推荐11.0.2版本下载安装apache maven3.x
,并配置M2_HOME
环境变量。
Maven推荐3.8.3版本 3.8.3javafx SDK 17.0.2版本
通过javafx 17.0.2链接直达 下载 javafx SDK 17.0.2版本SDK到本地并解压至任意目录。openjfx.p2-17.0.2
通过openjfx链接直达下载openjfx.p2-17.0.2.zip并解压到本地任意目录。- 下载源码 gitee地址,我是通过git clone下来的。
源码配置以及编译
-
配置pom文件properties配置信息 javafx.home 和 url.openjfx信息。
<javafx.home>本地路径\javafx-sdk-17.0.2</javafx.home> <url.openjfx>file:\\\本地路径\openjfx.p2-17.0.2</url.openjfx>
示例:
将下载好的javafx-sdk-17.0.2和openjfx.p2-17.0.2解压到本地目录D盘,配置pom
<javafx.home>D:\kaiyuan\soft\javafx-sdk-17.0.2</javafx.home> <url.openjfx>file:\\\D:\kaiyuan\soft\openjfx.p2-17.0.2</url.openjfx>
该pom文件的位置在下图中的位置。
-
通过 git bash 命令行进入Data Studio源码src目录
-
使用mvn -version命令 检查并确认 maven和JDK版本信息。
-
运行编译脚本
cd ${Data_Studio_code}\code\datastudio\src sh copyExternalsToBuild.sh # 拷贝所需要的依赖包 mvn clean package -Dmaven.test.skip=true
每一步运行成功后都会有BUILD SUCCESS 字样
如果镜像不对,可以在maven中修改一下阿里云镜像<mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror>
-
之后ds的安装包就会生成,安装包位置在
${Data_Studio_code}\code\datastudio\build
Eclipse环境配置
-
java complier
-
Java Installed JREs
-
maven中的 User Settings 设置为本地的仓库以及setting.xml
-
maven中的Installations
-
-Window --> Preferences --> (搜索关键词 “api”) -->选择“API Baseines”,设置Missing API baseline 为ignore 并点击Apply。
-
-Window --> Preferences --> (搜索关键词 “error”) -->选择“java --> Compiler --> Errors/Warnings” ,选择“Deprecated and restricted API”,设置“Forbidden reference(access rules)” 为ignore 并点击Apply。
-
-Window --> Preferences --> Maven --> Errors/Warnings”,设置“Plugin execution not covered by lifecycle configuration” 为ignore 并点击Apply。
-
检查Eclipse是否安装相关组件
<url.nattable>http://mirrors.ustc.edu.cn/eclipse/nattable/releases/1.6.0/repository/</url.nattable> <url.gef>http://mirrors.ustc.edu.cn/eclipse/tools/gef/updates/releases/5.1.0_gef-master_5509/</url.gef> <url.efxclipse>http://mirrors.ustc.edu.cn/eclipse/efxclipse/updates-released/3.5.0/site/</url.efxclipse> <url.eclipse>http://mirrors.ustc.edu.cn/eclipse/releases/2021-12/202112081000/</url.eclipse>
安装步骤:help-》Install New Software
例如:Name:1 Location:http://mirrors.ustc.edu.cn/eclipse/nattable/releases/1.6.0/repository/
点击Add之后,选择Select All 全部下载,安装重启
导入项目
- 导入项目, File—Import–选择Projects from Folder or Archive,然后选择DataStudio,将其导入。
- 导入项目后的整体架构如下
- run
在eclipse导入工程后,打开org.opengauss.mppdbide.repository工程的mppdbide.product文件,点击Launch an Eclipse application 运行启动工程。
如果工程启动失败,则通过如下操作,配置当前运行环境后再运行。
点击eclipse菜单 run-> run configurations -> Plug-ins -> Add Required Plug-ins -> validate Plug-ins -> Apply -> Run 启动工程
启动过程中如果出现问题,先继续执行,如果执行失败就需要看下面的解决问题了。
运行成功之后会出现opengauss的客户端datastudio。出现这个就证明成功了
如果失败就根据问题来解决。我所遇到的问题写在下文
问题
其中涉及到源码的问题我在这里首先说明。我们之前下载了插件,原先源码这里是
<url.nattable>http://${url.ip}${url.port}/eclipse/nattable/releases/1.6.0/repository/</url.nattable>
<url.gef>http://${url.ip}${url.port}/eclipse/tools/gef/updates/releases/5.1.0_gef-master_5509/</url.gef>
<url.efxclipse>http://${url.ip}${url.port}/eclipse/efxclipse/updates-released/3.5.0/site/</url.efxclipse>
<url.eclipse>http://${url.ip}${url.port}/eclipse/releases/2021-12/202112081000/</url.eclipse>
我出现这个问题之后,导师说让我修改一下这个位置,所以我将这里进行了修改,最后成功运行了。至于不修改这里会不会出现问题(是不是由于后续的步骤有问题)这就需要检验了
<url.nattable>http://mirrors.ustc.edu.cn/eclipse/nattable/releases/1.6.0/repository/</url.nattable>
<url.gef>http://mirrors.ustc.edu.cn/eclipse/tools/gef/updates/releases/5.1.0_gef-master_5509/</url.gef>
<url.efxclipse>http://mirrors.ustc.edu.cn/eclipse/efxclipse/updates-released/3.5.0/site/</url.efxclipse>
<url.eclipse>http://mirrors.ustc.edu.cn/eclipse/releases/2021-12/202112081000/</url.eclipse>
出现的问题
启动问题
- 当你在run configuration中 根据步骤进行启动时,点击
Validate Plug-ins
如果弹出图中的问题时
尝试在下图箭头的位置查找有可能缺少的Plug-ins
。基本都找到后,点击Apply–》run 尝试运行。
- 在我运行项目的时候,当点击Add Required Plug-ins,Validate Plug-ins之后出现了下图的问题,这个我直接跳出之后运行成功了。(虽然此时运行成功了,但很可能在之后埋下伏笔)
- 若通过
eclipse菜单 run-> run configurations -> Plug-ins -> Add Required Plug-ins -> validate Plug-ins -> Apply -> Run
方法不行。
1.在配置Run Configuration的Plug-ins时,勾选 Select All。然后运行。
2.再将Plug-ins配置成 Add Required Plug-ins ,再运行。
如果出现上述1和2的问题就根据12来继续解决,之后再运行就成功了。至于为什么?我暂时还不知道
其他问题
-
org.osgi.framework.BundleException
解决办法:在eclipse.ini中设置eclipse默认jdk
如果出现该问题就去设置,没有就不管了
在-vmargs前配置-vm即可,添加的内容如下:
添加的内容为(jdk路径填写自己的):
-vm
D:\Environment\Java\JDK11\jdk-11.0.2\bin\javaw.exe
注意: -vm和jdk路径一定分2行.
-
src报错,这里一般是缺少包,找到缺少的,导入即可
解决思路:右键view这个项目–Build Path – Configure Build Path —Libaries下的Classpath点击图中的Add External JARS,找到相应的jar包–Apply。加入即可解决该问题。
这里我贴一个有很多错误的/org.opengauss.mppdbide.view
,这个我导入很多的包才解决掉报红问题
印象最深刻的是javafx.embed,这个我是去最开始下载的javafx-sdk-17.0.2里面导入了下图中的这个包才解决掉的。
-
META-INF这里报错
注意这个位置不一定这么写,这样虽然可以解决掉这个错误。因为我尝试重新下载源码导入之后没有这个错误。注意辨别
这里报错还需要看一下图中的这个位置,左边Required Plug-ins中有可能报错,这个重新加入报错的包就可以了。右边报错我暂时无法解决,最后我也可以运行成功。
-
JSON 报错
因为Eclipse认为JSON文件不需要注释,所以报的编译错误,我们可以通过Eclipse的设置把它的编译检查给关掉。
Window → Preferences → Validation(验证) → JSON Validator(JSON 验证器)
把Manual和Build两个复选框的勾都取掉,点击Apply and Close。
相关文章
- 数据库工具
- mysql数据库使用mysqldump工具针对一个数据库备份,使用--databases选项与不使用该参数的区别
- Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库
- 数据库管理工具之DataGrip
- 测试基础:Nosql数据库之Redis
- 关于数据库的索引知识
- SQLSERVER错误15023:当前数据库中已存在用户或角色
- Access数据库审计工具mdbtools
- 转 做了两款数据库监控工具(mysql and nosql),打算在近期开源
- FMDB 二次封装工具类,让你快速学会封装,集成数据库
- laravel 数据库查询的一些函数意义(未完)
- Oracle中 HWM与数据库性能的探讨
- Java实现生成数据库表结构文档(生成工具screw的使用)
- 国产数据库有哪些?
- DBImport v3.0 中文版发布:支持各大数据库数据互导(IT人员必备工具)
- CYQ.Data 数据框架 数据库分页方式及存储过程[SQL2000/SQL2005/Oracle]
- 分享一款开源数据库建模工具--PDMan(可代替powerdesigner)
- 数据库工具DBeaver的用法
- 未来四年大数据市场将爆发 本土内存数据库将迎蓝海时代