本文目录
一、项目背景
二、问题描述
三、问题原因
四、解决方案
方案1:重新命名
方案2:修改配置文件
一、项目背景
今天配置了一个springboot项目,使用swagger2进行前后端分离开发。配置了swagger后竟然发现启动失败。
springboot (v2.1.8.RELEASE) + swagger (v2.8.0)
二、问题描述
***************************
APPLICATION FAILED TO START
***************************Description:
The bean 'createRestApi', defined in com.spring4all.swagger.SwaggerAutoConfiguration, could not be registered. A bean with that name has already been defined in class path resource [com/baidu/practice/config/swagger/SwaggerConfig.class] and overriding is disabled.
Action:
Consider renaming one of the beans or enabling overriding by setting spring.main.allow-bean-definition-overriding=true
三、问题原因
在启动项目时,createRestApi这个Bean已经存在,不能被注册。导致启动失败。
四、解决方案
目前想到的解决办法有两个,方案1和方案2,以后如果有新的解决办法再补充进来。也欢迎大家留言说出自己的想法。
方案1:重新命名
重新命名这个实例,例如本此问题把这个(createRestApi)名字改为另一个名字即可。
方案2:修改配置文件
main: allow-bean-definition-overriding: true #当遇到同样名字的时候,是否允许覆盖注册
如下配置为正确的写法
spring: application: name: test-springboot-service system: testspringboot main: allow-bean-definition-overriding: true # 意思是后来发现的bean会覆盖之前相同名称的bean profiles: active: local servlet: multipart: max-file-size: 1000MB max-request-size: 1000MB cloud: zookeeper: discovery: enabled: true register: true root: /iot-service connectString: devl.iot:52500 jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8 logging: config: classpath:logback.xml
完结!
更多推荐
【Java异常】Consider renaming one of the beans or enabling overriding by setting spr
发布评论