jeecg完善的文档、功能全面,活跃的社区目前是非常受欢迎的开源项目,我们选择jeecg作为二开。jeecg分为前端后端,后端服务在使用单体服务的时候一切顺利,升级为微服务的时候需要启动
jeecg-spring-cloud-gateway,启动gateway遇到如下错:
Error creating bean with name 'gatewayRoutersConfiguration': Injection of autowired dependencies failed; nested exception is
Could not resolve placeholder 'jeecg.route.config.data-type' in value "${jeecg.route.config.data-type}"
翻译过来的意思,
gatewayRoutersConfiguration注入失败,异常是占位符
jeecg.route.config.data-type,没有找到对应的值,换句话说,通过"${
jeecg.route.config.data-type}",找对应的配置没有找到。
jeecg.route.config.data-type,根据jeecg官方技术文档,这个配置是指定“自定义路由配置”,有三种选择,yml,nacos ,database,默认是yml及本地配置文件。
通过双击shift搜索到,这个配置确实已经存在,在jeecg-boot-module-system下的配置文件application.yml中配置了。为啥启动gateway的时候还报错呢?
怎么知道
gatewayRoutersConfiguration是否加载了这个配置(application-test.yml)呢?
或者
gatewayRoutersConfiguration启动的时候加载了配置文件是哪个呢?
从jeecg-cloud-gateway中pom文件依赖关系上查看,注意下图标注地方(其他依赖是springcloud系统依赖问题不在这里),jeecg-boot-starter-cloud,
jeecg-cloud-gateway这个模块依赖jeecg-boot-starter-cloud,jeecg-boot-starter-cloud依赖jeecg-system-cloud-api这个模块,这个模块下面没有配置文件,可以不用理会。重点放在jeecg-boot-starter-cloud模块下面的配置文件。
在这个文件中加入我们缺少的配置,
jeecg.route.config.data-type。启动一下,果然不报错了。
我用的是jeecg版本是,截止到发文之日起最新版本是不知道修复这个问题没有。
作者从事IT行业年,前后端经验丰富,现在主要负责java后端。在金融领域深耕多年。欢迎关注收藏转发,大家一起学习交流。