zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

百日完成国产数据库opengausss的开源任务--如何开发opengauss工具DataStudio

数据库工具开源开发 如何 -- 任务 完成
2023-09-11 14:20:20 时间

🍣 如 何 开 发 一 个 o p e n g a u s s 的 客 户 端 D a t a S t u d i o \textcolor{green}{如何开发一个opengauss的客户端DataStudio} opengaussDataStudio🍣
🍣 根 据 社 区 的 教 程 搭 建 开 发 环 境 \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.3
  • javafx 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下来的。

源码配置以及编译

  1. 配置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文件的位置在下图中的位置。在这里插入图片描述

  2. 通过 git bash 命令行进入Data Studio源码src目录

  3. 使用mvn -version命令 检查并确认 maven和JDK版本信息。在这里插入图片描述

  4. 运行编译脚本

    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>
    
  5. 之后ds的安装包就会生成,安装包位置在

    ${Data_Studio_code}\code\datastudio\build
    

    在这里插入图片描述

Eclipse环境配置

  1. java complier
    在这里插入图片描述

  2. Java Installed JREs
    在这里插入图片描述

  3. maven中的 User Settings 设置为本地的仓库以及setting.xml
    在这里插入图片描述

  4. maven中的Installations
    在这里插入图片描述

  5. -Window --> Preferences --> (搜索关键词 “api”) -->选择“API Baseines”,设置Missing API baseline 为ignore 并点击Apply。
    在这里插入图片描述

  6. -Window --> Preferences --> (搜索关键词 “error”) -->选择“java --> Compiler --> Errors/Warnings” ,选择“Deprecated and restricted API”,设置“Forbidden reference(access rules)” 为ignore 并点击Apply。
    在这里插入图片描述

  7. -Window --> Preferences --> Maven --> Errors/Warnings”,设置“Plugin execution not covered by lifecycle configuration” 为ignore 并点击Apply。
    在这里插入图片描述

  8. 检查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 全部下载,安装重启

导入项目

  1. 导入项目, File—Import–选择Projects from Folder or Archive,然后选择DataStudio,将其导入。
    在这里插入图片描述
  2. 导入项目后的整体架构如下
    在这里插入图片描述
  3. 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>

在这里插入图片描述

出现的问题

启动问题

  1. 当你在run configuration中 根据步骤进行启动时,点击Validate Plug-ins如果弹出图中的问题时
    在这里插入图片描述
    尝试在下图箭头的位置查找有可能缺少的Plug-ins基本都找到后,点击Apply–》run 尝试运行。
    在这里插入图片描述
  2. 在我运行项目的时候,当点击Add Required Plug-ins,Validate Plug-ins之后出现了下图的问题,这个我直接跳出之后运行成功了。(虽然此时运行成功了,但很可能在之后埋下伏笔)
    在这里插入图片描述
  3. 若通过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来继续解决,之后再运行就成功了。至于为什么?我暂时还不知道

其他问题

  1. 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行.
    在这里插入图片描述

  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里面导入了下图中的这个包才解决掉的。
    在这里插入图片描述
    在这里插入图片描述

  3. META-INF这里报错
    注意这个位置不一定这么写,这样虽然可以解决掉这个错误。因为我尝试重新下载源码导入之后没有这个错误。注意辨别
    在这里插入图片描述
    这里报错还需要看一下图中的这个位置,左边Required Plug-ins中有可能报错,这个重新加入报错的包就可以了。右边报错我暂时无法解决,最后我也可以运行成功。
    在这里插入图片描述

  4. JSON 报错
    因为Eclipse认为JSON文件不需要注释,所以报的编译错误,我们可以通过Eclipse的设置把它的编译检查给关掉。
    Window → Preferences → Validation(验证) → JSON Validator(JSON 验证器)
    把Manual和Build两个复选框的勾都取掉,点击Apply and Close。
    在这里插入图片描述