## 其他
- 禁用flyway及切换底层数据库方案
[链接](https://my.oschina.net/u/4517014/blog/5269319)
- 数据源数据集用法总结
[链接](https://my.oschina.net/u/4517014/blog/5270828)
- 使用Maven Install打包时报错
![img.png](../picture/qusetion/img.png)
使用Maven Package进行打包
## 版本问题
[开发环境参考](https://ajreport.beliefteam.cn/report-doc/guide/quicklyDevelop.html)
- 底层数据库为Mysql8.0+时,flyway执行SQL报错
- Node.js是V16版本时 npm install失败
- jdk使用1.7或者11及以上时,编译打包不过
![img](../picture/qusetion/img_4.png)
## 访问相关
- 浏览器兼容性
当前未对部分浏览器做兼容性适配,推荐使用谷歌浏览器进行访问。
已知:IE白屏、部分版本的火狐浏览器拖动组件出现跳转新页面及无法返回的情况
- 部署完进入系统,点击预览大屏,大屏提示:“执行sql失败“
![img](../picture/qusetion/img_3.png)
请先重置mysql数据源,将mysql数据源的账号密码修改为你当前系统的账号密码。
- 页面提示“404”
1、确保访问地址无误,根据部署方式的不同 9095/9528 端口皆可以进入项目,如果一个不行试另一个端口
2、确定前端(端口号9528)是否启动
3、确定后端(端口号9095)是否启动
4、如果你是前后端分离部署,看看你前端config配置文件中的BASE_API有没有改成你后端的IP端口
5、使用nginx转发遇到问题也是同上
## 前端npm install失败
1、使用node -v检查你的node.js版本,不要使用Node.js16及以上版本。
2、使用npm get registry查看npm镜像源,将npm镜像设置为淘宝镜像源(百度查具体步骤)。
3、使用cnpm install命令替换npm install命令进行编译。
如果以上3步皆无法解决npm编译问题,请直接使用**发行版**。
## 执行源码编译脚本(build.sh)报错
- 提示:“*** report-ui/dist/* *** No such file or directory”
前端编译失败。
大部分原因是Node.js版本过高(高于V14),导致前端编译失败(npm install失败),可参考***前端npm install失败*进行解决。
另一部分是Nodejs在编译执行初始化时会去下载一些依赖,如果依赖下载不下来,也会导致失败。
- 提示:“report-core/target/aj-report-*.zip *** No such file or directory”
后端编译失败。
可能原因有:Maven版本过低/过高,导致后端编译失败。可尝试重新执行编译脚本
- 使用eclipse进行源码编译时失败
失败的提示有很多,这里建议换成IDEA
- 使用IDEA进行源码编译时提示:“*** openjdk-***”
请使用jdk1.8
## 启动服务相关
- 提示“xxx The driver has not received any packets from the server”
连不上mysql。
1、确保软件打包正常
2、mysql版本不兼容,详细看上面关于版本兼容性
3、bootstrap.yml中配置的mysql地址ip不对
- flyway执行sql相关错误
错误提示:**Error creating bean with name 'flywayInitializer' defined in class XXX migration to version V1.0.XXX.sql
failed**
解析:flyway在执行某个版本里面包含的sql时报错了
- 可能原因:
1、mysql版本问题,在不同版本的mysql中,部分语法可能存在异同
2、mysql配置问题
解决方案:
一、禁用flyway,手动执行已有的各版本sql文件
1、在bootstrap.yml配置文件中找到flyway配置项,如图示
![img6.png](../picture/qusetion/img_6.png)
2、将report-core/src/main/resources/db.migration目录下所有的sql文件都执行一次,遇到报错,手动修改sql文件。
3、sql文件中,只有** aj_report **数据库相关的sql是必须的依赖,在确保和aj_report数据库相关sql都执行后在启动服务。
二、保持flyway开启状态,手动执行报错的那个版本sql文件
1、在report-core/src/main/resources/db.migration目录下找到报错的那个版本sql
2、根据报错提示找到sql文件中具体报错的那一段sql,或者和数据库已有的数据对比,找到没有执行成功的那部分sql
3、手动执行flyway没执行成功的那部分,根据提示,对sql进行修改调整
4、执行完毕后,在aj_report数据库下flyway_schema_history表中找到报错对应的sql文件版本,将对应的success改完1
![img7.png](../picture/qusetion/img_7.png)
## 数据集相关
- 系统异常,后台日志显示“** Data too long for colum ** ”
查询到的数据太多了,无法入库,这里查询入库的数据只作为在使用动态数据时做解析用
1、建议不要使用 "select *"
2、一张图表能承载的数据量是有限的,太多则图表展示不出来、页面卡死等
3、必须使用 "select *" ,或者展示很多数据。解决方法,将测试预览的值删掉只剩一条,注意数据的结构 [{}]
## 大屏图表组件相关
- 访问大屏,浏览器白屏
设计完大屏,保存后进行预览,发现背景全白
1、回到编辑页面,查看大屏背景颜色是否设置
2、查看大屏的宽高,如果宽高都是0,大屏背景图片,颜色,皆无法显示
3、大屏宽高改成 1920 1080