本地启动dataease2.0+,废话不多说,开干~
core 是前后端主要代码,drivers 为动态加载的数据库驱动,mapFiles 为系统内使用的genJson地图资源,sdk 为项目公共库,staticResource 为后端的静态资源库
官方文档:
https://dataease.io/docs/v2/installation/deployment_installation/#32
官方论坛:
https://bbs.fit2cloud.com/
1.准备环境
jdk 21 推荐使用JEnv来管理jdk的版本
MySQL 8.0
maven 3.8.1
node v16.15.0 推荐使用nvm来管理node的版本
npm 8.5.5
2.克隆项目
git clone https://github.com/dataease/dataease.git
3.idea配置本地maven
4.手动添加core为maven project
5.编译/打包dataease模块
6.编译/打包core模块
7.创建数据库
CREATE DATABASE ‘dataease’ DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;
并执行对应sql脚本
8.修改配置
9.修改驱动加载目录
CalciteProvider.java
private final String FILE_PATH = System.getProperty("user.dir") + File.separator + "drivers";
private final String CUSTOM_PATH = System.getProperty("user.dir") + File.separator + "custom-drivers" + File.separator;
10.修改后端静态资源文件位置
StaticResourceConstants.java
dataease在运行过程中需要很多的静态资源,包括地图、模板素材等,这些资源由后端进行管理,资源位置在下图中设置,随便指定一个目录,或者在本项目中
其中最主要的是
USER_HOME
,修改为自定义的windows本地资源目录,并将项目中的dirvers
、mapFiles
、staticResource
目录复制到自定义的windows目录中,将mapFiles
名称改为map
,staticResource
名称改为static-resource
,之后修改此文件中的FILE_PROTOCOL
变量内容为file:///
(windows中文件访问协议符号需要三个斜杠,否则报错。),此处资源位置修改主要解决地图数据、模板数据的静态资源访问问题,项目中还有两处写在代码中的资源路径,可以通过文件中查找/opt/dataease2.0/data
字符串来查找根据需要进行修改
遇到的问题
1.下载Node.exe失败
报错:
Could not download Node.js from: https://nodejs.org/dist/v16.15.0/win-x64/node.exe: Could not download https://nodejs.org/dist/v16.15.0/win-x64/node.exe: Connect to nodejs.org:443 [nodejs.org/104.20.23.46, nodejs.org/104.20.22.46] failed: Connection timed out: connect -> [Help 1]
**解决方案:**直接通过浏览器下载node.exe,下载完成后放到你本地的Maven仓库的repository\com\github\eirslett\node\16.15.0目录下(目录不存在则逐级创建),然后将下载的node.exe改名为node-16.15.0-win-x64.exe
推荐使用nvm进行node版本管理
https://juejin.cn/post/7017989469198352397
2.core-frontend前端打包失败
报错: on project core-frontend: Failed to run task: ‘npm run build:distributed’ failed.
原因:在core-frontend/package.json中 “build:distributed”: “NODE_OPTIONS=–max_old_space_size=4096 vite build --mode distributed && npm run build:flush”,而在Windows系统不支持NODE_OPTIONS命令
解决方案:
使用npm install cross-env --save-dev
安装cross-env
3.报错error Delete ? prettier/prettier
①第一种方法:添加配置:"prettier/prettier":["error",{ "endOfLine": "auto" }]
②第二种办法:前端文件结尾换行的问题,直接装一个插件eslint
解决该问题
③第三种办法:根据下面链接解释,修改git配置
https://juejin.cn/post/6844904069304156168
git config --global core.autocrlf false
git
全局配置之后,你需要重新拉取代码。
4.java: -source 8 中不支持 文本块
java: -source 8 中不支持 文本块 (请使用 -source 15 或更高版本以启用 文本块)
Java 8源代码版本,不支持文本块,而我应该使用Java 15或更高版本
这里我们需要检查几个地方的配置
5.数据库连接不上的问题
这里面代码没有详细看是怎么写的,大概问题就是启动的时候会将数据源信息插入到数据表core_datasource
中,其中的配置信息没有及时更新,导致配置一直是有问题的,直接将数据删除,修改最新的配置重新启动即可
根据代码报错位置,找到还有数据表core_de_engine
也会有同样的问题,直接删除,修改最新配置重新启动即可
其他
1.mavne的配置
# 打开maven目录下的 conf/settings.xml 文件,在 <settings> 标签下面添加以下内容:
<localRepository>/Users/zhaoqian/maven/repository</localRepository>
# 添加远程仓库镜像,找到 <mirrors> 标签在下面添加以下内容:
<mirrors>
<!-- 阿里云仓库 -->
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirrors>
# 阿里云配置: 提高国内的jar包下载速度,在<profiles>标签下面添加以下内容:
<profile>
<id>ali</id>
<repositories>
<repository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</pluginRepository>
</pluginRepositories>
</profile>
# 指定Maven的jdk版本,在<profiles>标签下面添加以下内容:
<profile>
<id>JDK-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>