0

I have updated spring boot version to 2.6.7 from version 2.0.5.RELEASE, After this change when I run my application i am getting Unable to read meta-data for class org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration. Package cloud does not exist under org.springframework.boot.autoconfigure in version 2.6.7. I checked in older version 2.0.5.RELEASE, it is present there. Someone also mentioned that this class has been renamed to CloudServiceConnectorsAutoConfiguration.

What can i do to fix this? Also how to know from where is this class CloudAutoConfiguration is being called?

Below is the stack trace for more info:

java.lang.IllegalStateException: Unable to read meta-data for class org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:237) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getOrder(AutoConfigurationSorter.java:208) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.access$000(AutoConfigurationSorter.java:154) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter.lambda$getInPriorityOrder$0(AutoConfigurationSorter.java:63) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at java.util.TimSort.countRunAndMakeAscending(TimSort.java:360) ~[?:1.8.0_202]
    at java.util.TimSort.sort(TimSort.java:234) ~[?:1.8.0_202]
    at java.util.Arrays.sort(Arrays.java:1512) ~[?:1.8.0_202]
    at java.util.ArrayList.sort(ArrayList.java:1462) ~[?:1.8.0_202]
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter.getInPriorityOrder(AutoConfigurationSorter.java:62) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.sortAutoConfigurations(AutoConfigurationImportSelector.java:468) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.selectImports(AutoConfigurationImportSelector.java:453) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:882) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.19.jar:5.3.19]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740) [spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415) [spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) [spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312) [spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) [spring-boot-2.6.7.jar:2.6.7]
    at com.myorg.services.runner.Application.main(Application.java:11) [classes/:?]
Caused by: java.io.FileNotFoundException: class path resource [org/springframework/boot/autoconfigure/cloud/CloudAutoConfiguration.class] cannot be opened because it does not exist
    at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199) ~[spring-core-5.3.19.jar:5.3.19]
    at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55) ~[spring-core-5.3.19.jar:5.3.19]
    at org.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:49) ~[spring-core-5.3.19.jar:5.3.19]
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103) ~[spring-core-5.3.19.jar:5.3.19]
    at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86) ~[spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73) ~[spring-boot-2.6.7.jar:2.6.7]
    at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81) ~[spring-core-5.3.19.jar:5.3.19]
    at org.springframework.boot.autoconfigure.AutoConfigurationSorter$AutoConfigurationClass.getAnnotationMetadata(AutoConfigurationSorter.java:233) ~[spring-boot-autoconfigure-2.6.7.jar:2.6.7]
    ... 27 more


Process finished with exit code 1
Kapil
  • 3
  • 3
  • CloudAutoConfiguration is not in boot anymore and you have mixed versions of spring boot – spencergibb May 20 '22 at 13:16
  • I have checked the dependency tree using mvn dependency:tree and I can only see 2.6.7 version. is there any other way to figure out other versions of spring boot which is there in my project – Kapil May 20 '22 at 13:58
  • Did you also upgrade Spring Cloud when you upgraded Spring Boot? Check the [Spring Boot compatibility](https://spring.io/projects/spring-cloud) for Spring Cloud. – Chin Huang May 20 '22 at 17:08
  • can you add the dependency tree and provide the spring cloud version – spencergibb May 20 '22 at 17:38

0 Answers0