JeecgBoot问题汇总
1.前言
jeecg-boot 我其实已经研究过了,也成功的应用在了一个小项目上了,但是再次用的时候,还是会出现问题的。
2.Unsatisfied dependency expressed through field ‘onlCgformFieldService’
这个在3.6.1版本中出现了问题,修改了数据库,用户名密码,其他的都没有动,结果后台就启动不了了:”Error creating bean with name ‘onlCgformFieldServiceImpl’: Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.jeecg.modules.online.cgform.service.a.c] from ClassLoader [jdk.internal.loader.ClassLoaders$AppClassLoader@6d86b085]”
3.外部 DTD: 无法读取外部 DTD
这个问题很奇怪,就是我在进行文档替换的时候,把很多的mapper替换成了com,结果导致代码跑不起来了,比如:jeecg-module-system/jeecg-system-biz/target/classes/org/jeecg/modules/system/mapper/xml/SysAnnouncementMapper.xml,
【1】.Caused by: org.xml.sax.SAXParseException: 外部 DTD: 无法读取外部 DTD ‘mybatis-generator-config_1_0.dtd’
4.覆盖默认的redisTemplate
1 | // 新建一个bean |
【1】.JeecgBoot jeecg redis多数据源配置
4.自定义菜单图标
我尝试了很多的方法,基本上都是vue2的东西,很多的文件都找不到了。
【解决方法】
后来在文档中找了 icon 的值可以在 iconify 或 Netlify 上查询。我去找了iconify 之后,发现还是有相关的图标,比如我找了 无人机的图标,获取到的类别就是 carbon:drone
(1)找到 src/components/Icon/data/icons.data.ts 文件。
(2)修改文件, 在文件的最后添加图标名称 ‘carbon:drone’
(3)刷新之后,就可以在菜单栏中选择了。
【1】.图标生成 这里只是说了图标集的生成,但是没有说到底怎么引入 iconfont 中的图标
【2】.JeecgBoot(iconfont) Icon图标扩展方法 这里提到的几个文件不存在 在src/views/system/modules/icon/Icons.vue文件中。
【3】.Icon 图标组件 这是官方的说明,但是没有说到底如何引用菜单图标的东西,icon 的值可以在 Iconify或Netlify 上查询。
【4】.jeecgboot自定义菜单图标 jeecgboot版本2.0,ant-design-vue版本1.5.2
【5】.Icon图标扩展方法 这里也是vue2的引入方法
【6】.iconify 在线图标
5.白名单校验未通过
这是新版为了平台安全防止被SQL攻击,针对表字典进行的白名单控制,只有在白名单配置了的表才允许通过表字典的方式访问。
但是我遇到的问题是,我的系统管理里面没有配置表白名单的地方。
【解决方案】
(1)没有白名单配置菜单,后来我发现是因为我的管理员账号没有配置 字典表白名单 的菜单权限。
(2)打开白名单配置菜单,然后添加白名单配置,输入 表名:sys_dict,允许的字段名:dict_name,dict_code,description,然后点击确定就可以了。
【1】.常见问题Q&A 这是新版为了平台安全防止被SQL攻击,针对表字典进行的白名单控制,只有在白名单配置了的表才允许通过表字典的方式访问。
【2】.表白名单配置 1.自动配置。2.手动配置。
6.文件无法上传
在本地测试没有问题,但是打包代码之后,结果就是无法上传文件了,有些电脑上会显示:The file at “” was loaded over an insecure connection. This file should be served over HTTPS. 主要代码:src/utils/http/axios/Axios.ts 文件中。
1 | /** |
【解决方法】
我看了参考文章【2】,我就尝试了把这个mock关闭,还真是可以的。我修改了 .env.production 文件中的 mock配置,关闭了mock,这个错误就消失了,文件可以上传了。
1 | # 是否启用mock |
【1】.jeecgboot图片、视频上传异常 在对应的服务器虚拟机中开放后台端口的入栈、出栈规则(或关闭防火墙)
【2】.解决上传文件报错request.upload.addEventListener 这篇文章提到了Mock的问题,我就尝试了。
7.字段配置下拉框
(1) 在表单开发的页面属性中,选择 “控件类型”,选择 “下拉框”。
(2) 在 “校验字段” 页面,输入 “字典Code” ,填入字典字段。