1.环境准备
操作系统:
Windows
数据库:
MySQL8.0(要求8.0以上版本),需要自己先安装好,参考 DataEase 官网的 MySQL 配置:https://dataease.io/docs/v2/installation/offline_INSTL_and_UPG/#43
开发环境:
IntelliJ IDEA
Maven:3.9
JDK:17(注意 DataEase v2.7 后已更新到 JDK 21)
Nodejs:16+
Npm:8+
Git
先将以上软件都准备好备用,对应的安装可以直接搜索教程
2.代码获取和数据库创建
2.1获取代码
在你选定的文件夹位置使用 git clone 命令克隆 DataEase 的代码。
通过 IDEA 找到刚刚 Git 下载文件夹中的 pom.xml 文件,点击信任该项目,选择想拉取的分支,以下演示 DataEase 为 v2.6版本,避开 dev 分支,并且换成自己的 Maven 仓库等待下载依赖。
此时 IDEA 右侧 Maven 窗口中 dataease 可能出现爆红,可以将 core 文件夹下 pom.xml 右键点击加入 Maven 项目,然后点击刷新。
2.2数据库初始化
登录到自己安装的 MySQL 并创建 dataease 数据库。
CREATE DATABASE `dataease` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
进入创建的数据库后,执行 sql 脚本文件初始化,脚本在源码文件夹中 \dataease\core\core-backend\src\main\resources\db\migratio
3.环境配置
以下步骤根据实际情况调整 JDK ,到 IDEA 菜单中 File —> Project Structure —> Project 中选择对应的 SDK 和 Language level,如果 Windows 环境有配置 JDK17 这里下拉框中可以看到选项,同时检查 Modules 下各模块的 Language level。
到 IDEA 菜单中 File —> Settings —> Build,Execution,Deployment —> Compilter —> Java Compilter 中选择项目字节码版本 17。
代码需要连接数据库,数据库配置参数在 \core\core-backend\src\main\resources\application-standalone.yml
中,根据你的 MySQL 参数进行修改。
DataEase 在运行过程中需要的静态资源,包括地图、模板素材等,这些资源由后端进行管理,资源位置的相关路径在 \sdk\common\src\main\java\io\dataease\constant\StaticResourceConstants.java 中,先在 Windows 本地创建资源目录,然后将 USR_HOME 原来的/opt/dataease2.0/data 修改为自定义的目录,并将项目中的 divers、mapFiles、staticResource 目录复制到自定义的windows目录中,将mapFiles 名称改为 map,staticResource 名称改为 static-resource。
之后由于 Windows 中文件访问协议的不同,需要修改 StaticResourceConstants.java 中的 FILE_PROTOCOL 变量内容为“file:///”。此处资源位置修改主要解决地图数据、模板数据的静态资源访问问题。通过全局查找/opt/dataease2.0/data 字符串来查找整个项目,将 ExcelUtils.java 和 CalciteProvider.java 等代码文件中的 PATH 修改为自定义目录。
首次编译前,需要修改后端项目 core-backend 目录中的 pom.xml 文件,修改 <filtering>true</filtering>
中的值为 false ,避免编译时由前端向后端集成资源包时报错。
4.编译运行以及可能的问题
打开前端项目 core-frontend 目录中的pom.xml文件,在 pom.xml 中增加如下代码,会自动全局安装 win-node-env,用于解决 windows 系统出现‘NODE_OPTIONS’ is not recognized as an internal or external command 问题,让 Node.js 的环境变量可以在 Windows 环境下正常运行。
<execution>
<id>npm install -g win-node-env</id>
<goals>
<goal>npm</goal>
</goals>
<configuration>
<arguments>install -g win-node-env</arguments>
</configuration>
</execution>
修改 core/core-frontend/.eslintrc.js 文件,在最后的 rules 节点中增加以下内容,避免前端项目在编译时因格式问题检查出现错误。
"prettier/prettier": ['off']
在项目管理其中鼠标右键点击根 dataease 模块,在菜单中选择 Build Module 'dataease',开始构建项目,此时构建项目并不包括 core 核心代码,只是将 sdk 中的组件编译完成。
在项目管理器中右键单击core文件夹,选择 Build Module 'core'构建核心项目,此处构建包括前后端,所以时间较长。构建完成后,项目管理中会生成\core\core-backend\target\CoreApplication.jar 文件,右键运行 CoreApplication.jar ,等待可以访问端口 8100 即可。
安装成功后,通过浏览器访问如下页面登录:
访问地址:http://目标服务器 IP 地址:服务运行端口
登录用户名:admin
登录密码:DataEase@123456
看到有部分反馈出现以下报错:
用户提供解决方法,可以到 core-backend 下面的 application.yml 文件中如下修改 spring.profiles.active,然后重新构建一次即可。
spring:
profiles:
active: standalone