如何解决启用 Spring sleuth 时,Spring Boot 本机应用程序无法启动 - llegalStateException BraveAutoConfiguration
我正在尝试使用本机映像 Maven 插件将 Spring 启动应用程序转换为 Spring 本机。 我设置了 GraalVM 和本机映像https://docs.spring.io/spring-native/docs/0.9.x/reference/htmlsingle/
java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.sleuth.autoconfig.brave.BraveAutoConfiguration
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:60) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108) ~[na:na]
at org.springframework.context.annotation.ConfigurationClassBeanDeFinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDeFinitionReader.java:489) ~[na:na]
at org.springframework.context.annotation.ConfigurationClassBeanDeFinitionReader$TrackedConditionEvaluator.shouldSkip(ConfigurationClassBeanDeFinitionReader.java:478) ~[na:na]
at org.springframework.context.annotation.ConfigurationClassBeanDeFinitionReader.loadBeanDeFinitionsForConfigurationClass(ConfigurationClassBeanDeFinitionReader.java:140) ~[na:na]
at org.springframework.context.annotation.ConfigurationClassBeanDeFinitionReader.loadBeanDeFinitions(ConfigurationClassBeanDeFinitionReader.java:129) ~[na:na]
at org.springframework.context.annotation.ConfigurationClasspostProcessor.processConfigBeanDeFinitions(ConfigurationClasspostProcessor.java:342) ~[com.xxx.yyy.application:5.3.4]
at org.springframework.context.annotation.ConfigurationClasspostProcessor.postProcessBeanDeFinitionRegistry(ConfigurationClasspostProcessor.java:246) ~[com.xxx.yyy.application:5.3.4]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDeFinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[na:na]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokebeanfactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[na:na]
at org.springframework.context.support.AbstractApplicationContext.invokebeanfactoryPostProcessors(AbstractApplicationContext.java:745) ~[na:na]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:563) ~[na:na]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[na:na]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1311) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1300) ~[com.xxx.yyy.application:2.4.3]
at com.xxx.yyy.application.main(Application.java:23) ~[com.xxx.yyy.application:1.5-SNAPSHOT]
Caused by: java.lang.IllegalStateException: java.io.FileNotFoundException: class path resource [org/springframework/cloud/sleuth/autoconfig/brave/AnyTracerModePropertySetCondition$OnConcreteTracerMode.class] cannot be opened because it does not exist
at org.springframework.boot.autoconfigure.condition.AbstractnestedCondition$MemberConditions.getMetadata(AbstractnestedCondition.java:149) ~[na:na]
at org.springframework.boot.autoconfigure.condition.AbstractnestedCondition$MemberConditions.getMemberConditions(AbstractnestedCondition.java:121) ~[na:na]
at org.springframework.boot.autoconfigure.condition.AbstractnestedCondition$MemberConditions.<init>(AbstractnestedCondition.java:114) ~[na:na]
at org.springframework.boot.autoconfigure.condition.AbstractnestedCondition.getMatchOutcome(AbstractnestedCondition.java:62) ~[com.xxx.yyy.application:2.4.3]
at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47) ~[com.xxx.yyy.application:2.4.3]
... 19 common frames omitted
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/cloud/sleuth/autoconfig/brave/AnyTracerModePropertySetCondition$OnConcreteTracerMode.class] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180) ~[na:na]
at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55) ~[na:na]
at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49) ~[na:na]
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103) ~[na:na]
at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81) ~[na:na]
at org.springframework.boot.autoconfigure.condition.AbstractnestedCondition$MemberConditions.getMetadata(AbstractnestedCondition.java:146) ~[na:na]
... 23 common frames omitted
Spring 原生版本:0.9.0
<dependency>
<groupId>org.springframework.experimental</groupId>
<artifactId>spring-native</artifactId>
<version>0.9.0</version>
</dependency>
Spring Boot 版本:2.4.3
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.3</version>
<relativePath/>
</parent>
Spring Cloud 版本:2020.0.1
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2020.0.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
解决方法
好的,我刚刚发现 Spring Native 尚不支持 sleuth
。
spring 初始化程序中的警告消息:
The following was discovered as part of building this project:
The following dependency is not known to work with Spring Native: 'Sleuth'. As a result,your application may not work as expected.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。