【Java异常】Consider renaming one of the beans or enabling overriding by setting spring.main
本文目录
一、项目背景
二、问题描述
三、问题原因
四、解决方案
方案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-servicesystem: testspringbootmain:allow-bean-definition-overriding: true # 意思是后来发现的bean会覆盖之前相同名称的beanprofiles:active: localservlet:multipart:max-file-size: 1000MBmax-request-size: 1000MBcloud:zookeeper:discovery:enabled: trueregister: trueroot: /iot-serviceconnectString: devl.iot.com:52500jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT+8logging:config: classpath:logback.xml
完结!
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
