✅ 操作成功!

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

发布时间:2023-06-12 作者:admin 来源:文学

【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

完结!

👁️ 阅读量:0