整合nacos时报错IClientConf that could not be found

- 日理万妓 2023-07-20 12:21 150阅读 0赞

情景

在整合nacos项目时,启动发现报错:

  1. Bean of type 'com.netflix.client.config.IClientConfig' that could not be found

导致项目无法启动。

解决办法

在网上看到一个解决办法,新建一个类实现IClientConfig,但是别急,经过我的测试,虽然能启动了,但是在负载时并没有用,例子如下:

  1. import java.util.Map;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.stereotype.Component;
  4. import com.netflix.client.config.IClientConfig;
  5. import com.netflix.client.config.IClientConfigKey;
  6. import com.netflix.loadbalancer.IRule;
  7. import com.netflix.loadbalancer.RandomRule;
  8. @Component
  9. public class RibbonConfiguration implements IClientConfig {
  10. @Bean
  11. public IRule ribbonRule(IClientConfig config) {
  12. // 随机算法
  13. return new RandomRule();
  14. }
  15. @Override
  16. public boolean containsProperty(IClientConfigKey arg0) {
  17. // TODO Auto-generated method stub
  18. return false;
  19. }
  20. @Override
  21. public <T> T get(IClientConfigKey<T> arg0) {
  22. // TODO Auto-generated method stub
  23. return null;
  24. }
  25. @Override
  26. public <T> T get(IClientConfigKey<T> arg0, T arg1) {
  27. // TODO Auto-generated method stub
  28. return null;
  29. }
  30. @Override
  31. public String getClientName() {
  32. // TODO Auto-generated method stub
  33. return null;
  34. }
  35. @Override
  36. public String getNameSpace() {
  37. // TODO Auto-generated method stub
  38. return null;
  39. }
  40. @Override
  41. public Map<String, Object> getProperties() {
  42. // TODO Auto-generated method stub
  43. return null;
  44. }
  45. @Override
  46. public Object getProperty(IClientConfigKey arg0) {
  47. // TODO Auto-generated method stub
  48. return null;
  49. }
  50. @Override
  51. public Object getProperty(IClientConfigKey arg0, Object arg1) {
  52. // TODO Auto-generated method stub
  53. return null;
  54. }
  55. @Override
  56. public boolean getPropertyAsBoolean(IClientConfigKey arg0, boolean arg1) {
  57. // TODO Auto-generated method stub
  58. return false;
  59. }
  60. @Override
  61. public int getPropertyAsInteger(IClientConfigKey arg0, int arg1) {
  62. // TODO Auto-generated method stub
  63. return 0;
  64. }
  65. @Override
  66. public String getPropertyAsString(IClientConfigKey arg0, String arg1) {
  67. // TODO Auto-generated method stub
  68. return null;
  69. }
  70. @Override
  71. public void loadDefaultValues() {
  72. // TODO Auto-generated method stub
  73. }
  74. @Override
  75. public void loadProperties(String arg0) {
  76. // TODO Auto-generated method stub
  77. }
  78. @Override
  79. public String resolveDeploymentContextbasedVipAddresses() {
  80. // TODO Auto-generated method stub
  81. return null;
  82. }
  83. @Override
  84. public <T> IClientConfig set(IClientConfigKey<T> arg0, T arg1) {
  85. // TODO Auto-generated method stub
  86. return null;
  87. }
  88. @Override
  89. public void setProperty(IClientConfigKey arg0, Object arg1) {
  90. // TODO Auto-generated method stub
  91. }
  92. }

后来我发现 其实是版本的问题,切换一下版本就可以了,这里贴我用的版本,大家可以参考一下:

  1. <properties>
  2. <druid.version>1.0.18</druid.version>
  3. <jedis.version>2.9.0</jedis.version>
  4. <spring.version>4.3.19.RELEASE</spring.version>
  5. <spring-boot.version>2.2.4.RELEASE</spring-boot.version>
  6. <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
  7. <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
  8. <sentinel-core.version>1.7.1</sentinel-core.version>
  9. <spring-context-support.version>1.0.6</spring-context-support.version>
  10. <maven.compiler.source>1.8</maven.compiler.source>
  11. <maven.compiler.target>1.8</maven.compiler.target>
  12. <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
  13. <mysql.connector.version>5.1.18</mysql.connector.version>
  14. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  15. <swagger.version>2.9.2</swagger.version>
  16. <!-- 服务发现 -->
  17. <nacos-discovery.version>0.2.2.RELEASE</nacos-discovery.version>
  18. </properties>
  19. <dependencies>
  20. <dependency>
  21. <groupId>com.alibaba.csp</groupId>
  22. <artifactId>sentinel-core</artifactId>
  23. <version>${sentinel-core.version}</version>
  24. </dependency>
  25. <!-- Nacos 组件依赖 -->
  26. <dependency>
  27. <groupId>org.springframework.cloud</groupId>
  28. <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
  29. <version>${nacos-discovery.version}</version>
  30. </dependency>
  31. <dependency>
  32. <groupId>com.alibaba.cloud</groupId>
  33. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  34. </dependency>
  35. <dependency>
  36. <groupId>com.alibaba.spring</groupId>
  37. <artifactId>spring-context-support</artifactId>
  38. <version>${spring-context-support.version}</version>
  39. </dependency>
  40. <!-- swagger2 -->
  41. <dependency>
  42. <groupId>io.springfox</groupId>
  43. <artifactId>springfox-swagger2</artifactId>
  44. <version>${swagger.version}</version>
  45. </dependency>
  46. </dependencies>
  47. <dependencyManagement>
  48. <dependencies>
  49. <dependency>
  50. <groupId>org.springframework.boot</groupId>
  51. <artifactId>spring-boot-dependencies</artifactId>
  52. <version>${spring-boot.version}</version>
  53. <type>pom</type>
  54. <scope>import</scope>
  55. </dependency>
  56. <!-- 整合openfeign 时会用到 -->
  57. <dependency>
  58. <groupId>org.springframework.cloud</groupId>
  59. <artifactId>spring-cloud-dependencies</artifactId>
  60. <version>${spring-cloud.version}</version>
  61. <type>pom</type>
  62. <scope>import</scope>
  63. </dependency>
  64. <dependency>
  65. <groupId>com.alibaba.cloud</groupId>
  66. <artifactId>spring-cloud-alibaba-dependencies</artifactId>
  67. <version>${spring-cloud-alibaba.version}</version>
  68. <type>pom</type>
  69. <scope>import</scope>
  70. </dependency>
  71. </dependencies>
  72. </dependencyManagement>

后面整理了一个新版本的,或许对大家有点帮助。

https://blog.csdn.net/m0_37706038/article/details/107908108

发表评论

表情:
评论列表 (有 0 条评论,150人围观)

还没有评论,来说两句吧...

相关阅读