将 spring-cloud-sleuth 添加到类路径时出现“上下文初始化”错误
Posted
技术标签:
【中文标题】将 spring-cloud-sleuth 添加到类路径时出现“上下文初始化”错误【英文标题】:getting 'Context Initialization' error when adding spring-cloud-sleuth to classpath 【发布时间】:2018-09-13 04:09:52 【问题描述】:下面提供了引用 spring-cloud-sleuth 的构建文件部分。
dependencyManagement
imports
//where springCloudVersion = "Dalston.SR5" & springBootVersion = '1.5.9.RELEASE'
mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion"
//in dependencies, added the following line
compile 'org.springframework.cloud:spring-cloud-starter-sleuth'
添加此依赖后,应用启动失败,出现如下异常(基于cmets添加)
support.AbstractApplicationContext (AbstractApplicationContext.java:551) -
Exception encountered during context initialization - cancelling refresh attempt:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'misds':
Could not bind properties to HikariDataSource (prefix=mis.datasource, ignoreInvalidFields=false, ignoreUnknownFields=true, ignoreNestedProperties=false); nested exception is org.springframework.validation.BindException: org.springframework.boot.bind.RelaxedDataBinder$RelaxedBeanPropertyBindingResult: 4 errors
Field error in object 'mis.datasource' on field 'driverClassName': rejected value [oracle.jdbc.OracleDriver];
codes [methodInvocation.mis.datasource.driverClassName,methodInvocation.driverClassName,methodInvocation.java.lang.String,methodInvocation];
arguments [org.springframework.context.support.DefaultMessageSourceResolvable: codes [mis.datasource.driverClassName,driverClassName];
arguments []; default message [driverClassName]]; default message [Property 'driverClassName' threw exception;
nested exception is java.lang.IllegalStateException: The configuration of the pool is sealed once started.
Use HikariConfigMXBean for runtime changes.]
我使用 slf4j over log4j 来记录框架,当我删除 sleuth 依赖项时,应用程序运行良好。
我注意到,当包含 spring-cloud 依赖项时,会出现以下 'additional' 属性源。
env.MutablePropertySources (MutablePropertySources.java:106) - Adding PropertySource 'springCloudClientHostInfo' with lowest search precedence
env.MutablePropertySources (MutablePropertySources.java:106) - Adding PropertySource 'defaultProperties' with lowest search precedence
env.MutablePropertySources (MutablePropertySources.java:106) - Adding PropertySource 'Management Server' with lowest search precedence
【问题讨论】:
Dalston.SR5
非常老了。请升级到Edgware.SR3
,看看问题是否仍然存在
同时添加完整的例外
感谢@MarcinGrzejszczak,edgeware 升级成功。我的错误印象是只有 Dalston 与 Boot
【参考方案1】:
请务必检查最新版本是否无法解决您的问题。老实说,我真的不知道哪个问题与这个问题有关:/ Edgware release train 与 Boot 兼容
【讨论】:
以上是关于将 spring-cloud-sleuth 添加到类路径时出现“上下文初始化”错误的主要内容,如果未能解决你的问题,请参考以下文章
spring-cloud-sleuth与spring-amqp集成