无法将“服务器”下的属性绑定到org.springframework.boot.autoconfigure.web.ServerProperties:

时间:2018-09-04 07:01:24

标签: spring-boot

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2018-09-04 12:23:24.383 ERROR 12320 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   : 

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

Description:

Failed to bind properties under 'server' to org.springframework.boot.autoconfigure.web.ServerProperties:

    Property: server
    Value: 
    Origin: class path resource [application.properties]:2:0
    Reason: No converter found capable of converting from type [java.lang.String] to type [@org.springframework.boot.context.properties.ConfigurationProperties org.springframework.boot.autoconfigure.web.ServerProperties]

Action:

Update your application's configuration

我的application.properties文件如下:

server:
  port: ${PORT:9191}

spring:

  datasource:
    url: jdbc:sqlserver://PC382682:1433;databaseName=imvenkat 
    username: imvenkat
    password: imvenkat
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver

我知道此问题与Spring启动有关,但是如何更改我的application.properties文件以解决此问题?

3 个答案:

答案 0 :(得分:1)

问题在于您正在属性文件中使用YAML格式。正在逐行解析属性,因此属性解析器读取server:,并且不知道如何直接绑定到server,这会导致您看到错误。

将文件重命名为application.yml或更改属性:

server.port=${PORT:9191}

spring.datasource.url=jdbc:sqlserver://PC382682:1433;databaseName=imvenkat 
spring.datasource.username=imvenkat
spring.datasource.password=imvenkat
spring.datasource.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver

答案 1 :(得分:0)

当父版本与您的spring-boot-devtools依赖项之间不匹配时,会发生此错误。

从spring-boot-devtools依赖关系中删除该版本,即可解决该问题。

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> </dependency>

答案 2 :(得分:0)

如果您的配置文件是 yaml 格式,但您的 yaml 中有错误,因此一行看起来像一个属性,也会发生此错误。发生在我身上,以前这只是一个断开的配置线,现在它断开了应用程序。

所以如果你有什么东西坏了(看看 url=),比如:

server:
  port: ${PORT:9191}

spring:

  datasource:
    url=jdbc:sqlserver://PC382682:1433;databaseName=imvenkat 

可能会发生相同的神秘错误。修复配置行可修复此错误。