在对springboot与springclould进行集成的时候,application.yml文件需要配置eureka的信息,内容如下:

eureka:
  client:
    service-url:
      defaultZone:http://localhost:8761/eureka/

配置之后报错,内容如下:

2019-02-24 17:09:04.988  WARN 8252 --- [  restartedMain] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.boot.context.properties.ConfigurationPropertiesBindException: Error creating bean with name 'eurekaClientConfigBean': Could not bind properties to 'EurekaClientConfigBean' : prefix=eureka.client, ignoreInvalidFields=false, ignoreUnknownFields=true; nested exception is org.springframework.boot.context.properties.bind.BindException: Failed to bind properties under 'eureka.client.service-url' to java.util.Map<java.lang.String, java.lang.String>

2019-02-24 17:09:05.010 ERROR 8252 --- [  restartedMain] o.s.b.d.LoggingFailureAnalysisReporter   : 

***************************
APPLICATION FAILED TO START
***************************

Description:
Failed to bind properties under 'eureka.client.service-url' to java.util.Map<java.lang.String, java.lang.String>:
    Reason: No converter found capable of converting from type [java.lang.String] to type [java.util.Map<java.lang.String, java.lang.String>]
Action:
Update your application's configuration


这里可以看到,在将service-url进行转换时产生了错误,不能讲String转换成Map,这是因为在yml文件中配置的service-url需要是Map类型,所以需要在defaultZong:后面加上一个空格

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐