admin管理员组

文章数量:1794759

【Java异常】Consider renaming one of the beans or enabling overriding by setting spring.main

【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-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

完结!

本文标签: 异常beansrenamingjavaenabling