java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

huangapple go评论107阅读模式
英文:

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

问题

在将com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0依赖添加到我的build.gradle文件时,我遇到了这个错误:

  1. Caused by:
  2. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'management.metrics-org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: io/opentelemetry/javaagent/instrumentation/internal/classloader/BootDelegationInstrumentation$Holder
  3. at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
  4. at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
  5. at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
  6. at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
  7. at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
  8. at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
  9. at app//org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
  10. at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
  11. at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
  12. at app//org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
  13. at app//org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
  14. ... 150 more
  15. Caused by:
  16. java.lang.NoClassDefFoundError: io/opentelemetry/javaagent/instrumentation/internal/classloader/BootDelegationInstrumentation$Holder
  17. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
  18. at java.base/java.lang.Class.forName0(Native Method)
  19. at java.base/java.lang.Class.forName(Class.java:467)
  20. at java.desktop/com.sun.beans.finder.ClassFinder.findClass(ClassFinder.java:67)
  21. at java.desktop/com.sun.beans.finder.ClassFinder.findClass(ClassFinder.java:110)
  22. at java.desktop/java.beans.Introspector.findCustomizerClass(Introspector.java:1125)
  23. at java.desktop/java.beans.Introspector.getTargetBeanDescriptor(Introspector.java:1119)
  24. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:445)
  25. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:283)
  26. at java.desktop/java.beans.Introspector.<init>(Introspector.java:427)
  27. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:283)
  28. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:225)
  29. at org.springframework.beans.CachedIntrospectionResults.getBeanInfo(CachedIntrospectionResults.java:254)
  30. at org.springframework.beans.CachedIntrospectionResults.<init>(CachedIntrospectionResults.java:279)
  31. at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:183)
  32. at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:174)
  33. at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptors(BeanWrapperImpl.java:248)
  34. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1594)
  35. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1574)
  36. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1434)
  37. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
  38. ... 160 more
  39. Caused by:
  40. java.lang.ClassNotFoundException: io.opentelemetry.javaagent.instrumentation.internal.classloader.BootDelegationInstrumentation$Holder
  41. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
  42. ... 180 more
  43. Does anyone know what is the cause of it? I tried to upgrade the version but it requires different spring boot version that I am using. I am using opentelemetry in version 1.19.0. Could not find solution to this.
  44. <details>
  45. <summary>英文:</summary>
  46. When adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency to my build.gradle file I am getting this error:
  47. Caused by:
  48. org.springframework.beans.factory.BeanCreationException: Error creating bean with name &#39;management.metrics-org.springframework.boot.actuate.autoconfigure.metrics.MetricsProperties&#39;: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: io/opentelemetry/javaagent/instrumentation/internal/classloader/BootDelegationInstrumentation$Holder
  49. at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:628)
  50. at app//org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542)
  51. at app//org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335)
  52. at app//org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
  53. at app//org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333)
  54. at app//org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208)
  55. at app//org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:276)
  56. at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1391)
  57. at app//org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1311)
  58. at app//org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:887)
  59. at app//org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
  60. ... 150 more
  61. Caused by:
  62. java.lang.NoClassDefFoundError: io/opentelemetry/javaagent/instrumentation/internal/classloader/BootDelegationInstrumentation$Holder
  63. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
  64. at java.base/java.lang.Class.forName0(Native Method)
  65. at java.base/java.lang.Class.forName(Class.java:467)
  66. at java.desktop/com.sun.beans.finder.ClassFinder.findClass(ClassFinder.java:67)
  67. at java.desktop/com.sun.beans.finder.ClassFinder.findClass(ClassFinder.java:110)
  68. at java.desktop/java.beans.Introspector.findCustomizerClass(Introspector.java:1125)
  69. at java.desktop/java.beans.Introspector.getTargetBeanDescriptor(Introspector.java:1119)
  70. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:445)
  71. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:283)
  72. at java.desktop/java.beans.Introspector.&lt;init&gt;(Introspector.java:427)
  73. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:283)
  74. at java.desktop/java.beans.Introspector.getBeanInfo(Introspector.java:225)
  75. at org.springframework.beans.CachedIntrospectionResults.getBeanInfo(CachedIntrospectionResults.java:254)
  76. at org.springframework.beans.CachedIntrospectionResults.&lt;init&gt;(CachedIntrospectionResults.java:279)
  77. at org.springframework.beans.CachedIntrospectionResults.forClass(CachedIntrospectionResults.java:183)
  78. at org.springframework.beans.BeanWrapperImpl.getCachedIntrospectionResults(BeanWrapperImpl.java:174)
  79. at org.springframework.beans.BeanWrapperImpl.getPropertyDescriptors(BeanWrapperImpl.java:248)
  80. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1594)
  81. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.filterPropertyDescriptorsForDependencyCheck(AbstractAutowireCapableBeanFactory.java:1574)
  82. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1434)
  83. at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619)
  84. ... 160 more
  85. Caused by:
  86. java.lang.ClassNotFoundException: io.opentelemetry.javaagent.instrumentation.internal.classloader.BootDelegationInstrumentation$Holder
  87. at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220)
  88. ... 180 more
  89. Does anyone know what is the cause of it? I tried to upgrade the version but it requires different spring boot version that I am using. I am using opentelemetry in version 1.19.0. Could not find solution to this.
  90. </details>
  91. # 答案1
  92. **得分**: 1
  93. 这个错误通常发生在`spring-cloud-azure-starter-active-directory`依赖项与项目中的其他依赖项之间存在版本不兼容性时。
  94. - 要解决这个问题,请检查项目中所有依赖项的版本兼容性。
  95. - 包含与您的Spring Boot应用程序兼容的包版本。
  96. - 要避免这个错误,您需要降级/升级项目中Spring Boot的版本。
  97. - 正如[MSdoc](https://learn.microsoft.com/en-us/azure/developer/java/spring-framework/spring-boot-starter-for-azure-active-directory-developer-guide?tabs=SpringCloudAzure4x#prerequisites)中所提到的,您需要使用Spring Boot 2.5或更高版本。
  98. 我已经创建了一个简单的Spring Boot应用程序(版本3.1.0)并使用了依赖项`com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0`
  99. **build.gradle:**
  100. ```java
  101. plugins {
  102. id 'java'
  103. id 'org.springframework.boot' version '3.1.0'
  104. id 'io.spring.dependency-management' version '1.1.0'
  105. }
  106. group = 'com.example'
  107. version = '0.0.1-SNAPSHOT'
  108. sourceCompatibility = '17'
  109. dependencies {
  110. implementation 'org.springframework.boot:spring-boot-starter-web'
  111. implementation 'com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0'
  112. developmentOnly 'org.springframework.boot:spring-boot-devtools'
  113. testImplementation 'org.springframework.boot:spring-boot-starter-test'
  114. }

我能够成功构建和运行这个应用程序。

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

响应:

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

英文:

This error usually occurs when there is version incompatibility between the spring-cloud-azure-starter-active-directory dependency and other dependencies in your project.

  • To resolve this, check the compatibility of the versions of all the dependencies in your project.
  • Include the package versions which are compatible to your spring-boot application.
  • To avoid this error, you have to downgrade/upgrade your spring-boot version of your project.
  • As mentioned in the MSdoc, you need spring boot 2.5 or above versions.

I have created a simple spring-boot application (version 3.1.0) and used the dependency com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0:

build.gradle:

  1. plugins {
  2. id &#39;java&#39;
  3. id &#39;org.springframework.boot&#39; version &#39;3.1.0&#39;
  4. id &#39;io.spring.dependency-management&#39; version &#39;1.1.0&#39;
  5. }
  6. group = &#39;com.example&#39;
  7. version = &#39;0.0.1-SNAPSHOT&#39;
  8. sourceCompatibility = &#39;17&#39;
  9. dependencies {
  10. implementation &#39;org.springframework.boot:spring-boot-starter-web&#39;
  11. implementation &#39;com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0&#39;
  12. developmentOnly &#39;org.springframework.boot:spring-boot-devtools&#39;
  13. testImplementation &#39;org.springframework.boot:spring-boot-starter-test&#39;
  14. }

I am able to build and run the application successfully.

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

Response:

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

java.lang.NoClassDefFoundError when adding com.azure.spring:spring-cloud-azure-starter-active-directory:4.3.0 dependency

huangapple
  • 本文由 发表于 2023年6月5日 18:12:45
  • 转载请务必保留本文链接:https://go.coder-hub.com/76405399.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定