SpringCloud错误汇总及解决办法

错误一

com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused

原因一:
在默认设置下,Eureka服务注册中心也会将自己作为客户端来尝试注册它自己,所以我们需要禁用它的客户端注册行为。

解决方案:

  • eureka.client.register-with-eureka:默认为true。true,表示如果应用时注册中心应用,它也会向自己注册自己;false,注册中心不会向自己注册自己。
  • eureka.client.fetch-registry:默认为true。true,表示注册中心会检索服务;false,注册中心应用不会检索服务。
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka # 指定Eureka注册中心
    register-with-eureka: false # 由于该应用为注册中心,所以设置我false,代表不向注册中心注册自己
    fetch-registry: false # 由于注册中心的职责就是维护服务实例,它并不需要去检索服务,所以设置为false

原因二:
服务启动后报错。application.yaml文件命名了,忘记写后缀,但是IDEA显示文件icon是正确的,握日!
解决办法:
修改文件名+后缀

错误二

启动访问MySQL数据库的微服务时报错:

Failed to configure a DataSource: ‘url’ attribute is not specified and no embedded datasource could be configured.
Reason: Failed to determine a suitable driver class

原因很显然是,没有找到适合的driver-class-name。原因如下:

  • DataSourceAutoConfiguration会自动加载.
  • 没有配置spring - datasource - url 属性.
  • spring - datasource - url 配置的地址格式有问题.
  • 配置 spring - datasource - url的文件没有加载.

我的项目中已经配置了driver-class-name,还是报错。我是使用第一种解决方案解决的。

@SpringBootApplication(exclude= {DataSourceAutoConfiguration.class})

解决方案,参考:传送门

你可能感兴趣的:(SpringCloud)