这个问题是由于Spring框架中存在两个Bean定义具有相同的名字('corsFilter'),但是Spring默认禁止覆盖已经定义的Bean。
具体来说,一个Bean定义在类路径资源org/jeecg/config/WebMvcConfiguration.class
中,另一个在同一项目的类路径资源org/jeecg/starter/cloud/config/GwCorsFilter.class
中定义。
解决这个问题有以下几种方法:
-
重命名Bean:考虑修改其中一个配置类中的Bean名称,确保它们在应用程序中具有唯一的名字。例如,可以将其中一个Bean命名为
corsFilter1
或给它一个更具描述性的名字。 -
启用Bean定义覆盖:如果你确定你想要覆盖已有的Bean定义,你可以在你的Spring Boot应用的
application.properties
或application.yml
文件中添加以下配置:spring.main.allow-bean-definition-overriding=true
如果你使用的是application.yml
文件:
spring:
main:
allow-bean-definition-overriding: true