今天在开发的过程当中遇到了这么一个问题
在微服务项目中 启动springboot项目报错:
Description:
Parameter 0 of method ribbonServerList in com.alibaba.cloud.nacos.ribbon.NacosRibbonClientConfiguration required a bean of type 'com.netflix.client.config.IClientConfig' that could not be found.
Action:
Consider defining a bean of type 'com.netflix.client.config.IClientConfig' in your configuration.
它的意思就是我们少了这个bean
当时我在网上搜索的解决方案是:
加一个配置类,缺什么就给它加什么
import com.netflix.client.config.DefaultClientConfigImpl;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class IClientConfig {
@Bean
public DefaultClientConfigImpl iClientConfig(){
return new DefaultClientConfigImpl();
}
}
但是这种方式只是说解决了,我启动报错可以注册到注册中心而已
但是当我导入配置中心依赖:
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
又没办法启动了,我百思不得其解,最后发现一个非常神奇的现象:
我的启动类是放在:package com.alibaba 包下的所以造成了冲突
解决方法:
1.在com.alibaba再建一个包放启动类
2.将com.alibaba的alibaba包改一下名字就可以解决了