当前位置: 首页 > 知识库问答 >
问题:

Spring BootJava11个缺失的运行时依赖项

欧盛
2023-03-14

在Java10和maven中运行我的Spring boot项目,一切都很好。简单地将JDK从10更改为11会导致以下错误:

 emailer_1        | java.lang.IllegalStateException: Error processing condition on org.springframework.cloud.vault.config.VaultReactiveBootstrapConfiguration.reactiveVaultSessionManager
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:64)
    emailer_1        |  at org.springframework.context.annotation.ConditionEvaluator.shouldSkip(ConditionEvaluator.java:108)
    emailer_1        |  at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForBeanMethod(ConfigurationClassBeanDefinitionReader.java:181)
    emailer_1        |  at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:141)
    emailer_1        |  at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:117)
    emailer_1        |  at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:327)
    emailer_1        |  at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
    emailer_1        |  at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
       | Caused by: java.lang.IllegalStateException: Failed to introspect Class [org.springframework.cloud.vault.config.VaultReactiveBootstrapConfiguration] from ClassLoader [org.springframework.boot.loader.LaunchedURLClassLoader@5d099f62]
    emailer_1        |  at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:680)
    emailer_1        |  at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:577)
    emailer_1        |  at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:562)
    emailer_1        |  at org.springframework.util.ReflectionUtils.getUniqueDeclaredMethods(ReflectionUtils.java:620)
    emailer_1        |  at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705)
    emailer_1        |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryMethod(AbstractAutowireCapableBeanFactory.java:721)
    emailer_1        |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineTargetType(AbstractAutowireCapableBeanFactory.java:662)
    emailer_1        |  at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:630)
    emailer_1        |  at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1491)
    emailer_1        |  at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1014)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.addBeanTypeForNonAliasDefinition(BeanTypeRegistry.java:198)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.addBeanTypeForNonAliasDefinition(BeanTypeRegistry.java:174)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.addBeanType(BeanTypeRegistry.java:167)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.lambda$updateTypesIfNecessary$3(BeanTypeRegistry.java:154)
    emailer_1        |  at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.updateTypesIfNecessary(BeanTypeRegistry.java:152)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.BeanTypeRegistry.getNamesForType(BeanTypeRegistry.java:118)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.OnBeanCondition.collectBeanNamesForType(OnBeanCondition.java:301)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getBeanNamesForType(OnBeanCondition.java:290)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchingBeans(OnBeanCondition.java:232)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.OnBeanCondition.getMatchOutcome(OnBeanCondition.java:152)
    emailer_1        |  at org.springframework.boot.autoconfigure.condition.SpringBootCondition.matches(SpringBootCondition.java:47)
    emailer_1        |  ... 36 common frames omitted
   emailer_1        | Caused by: java.lang.ClassNotFoundException: reactor.core.publisher.Mono
    emailer_1        |  at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
    emailer_1        |  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
    emailer_1        |  at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:93)
    emailer_1        |  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    emailer_1        |  ... 61 common frames omitted

我没有使用Spring Webflux框架,以前也不需要任何带有reactor框架的jar。我知道Java 11从JDK中剔除了很多JEE的东西,但这不是那个。

我尝试了SpringBoot 2.0.5版本和最新的里程碑版本(M4)2.1,结果是一样的。我已经更改了Finchley的Spring Cloud版本。SR1到格林威治。M1具有相同的结果。

有没有人遇到过类似的问题?任何帮助都非常感谢。

编辑:简单地将reactor core作为托管依赖项添加到我的Pom中会导致另一个问题,即找不到Netty库...这很奇怪,因为它应该使用tomcat。

共有1个答案

高宇定
2023-03-14

在撰写本文时,根据Spring Boot文档,Spring Boot2.1.0.M4和2.0.5.RELEASE需要Java 8或9以及Spring Framework 5.1.1.5.RELEASE或更高版本。所以我认为Spring Boot还没有正式支持Java11。

https://docs.spring.io/spring-boot/docs/2.0.5.RELEASE/reference/html/getting-started-system-requirements.html

https://docs.spring.io/spring-boot/docs/2.1.0.M4/reference/html/getting-started-system-requirements.html

 类似资料:
  • 在默认状态下,Maven 在 build 的时候不会包含所依赖的 jar 包。当运行一个 Spark 任务,如果 Spark worker 机器上没有包含所依赖的 jar 包会发生类无法找到的错误(ClassNotFoundException)。 有一个简单的方式,在 Maven 打包的时候创建 shaded 或 uber 任务可以让那些依赖的 jar 包很好地打包进去。 使用 <scope>pr

  • 我试图部署一个战争文件到WildFly全10.0.0。最终(WildFly核心2.0.10.最终)服务器。但我得到以下错误在启动 启动控制台消息: 我的POM看起来像这样: 我把它添加到我的脸配置中。xml: 我已经把这个纳入了我的jboss-deployment.xml: 为什么我会得到java。类javax的lang.NoClassDefFoundError。埃尔。ELResolver?该类明

  • 我目前正在使用Maven开发一个Java项目。在我的我收到了这个错误。 我添加了这种依赖性 到我的。但错误仍然是一样的。 我是否缺少为依赖项添加存储库?我也没有在我的。 有人能建议我在我的中添加的存储库代码吗?

  • 我目前正在使用Maven处理一个Java项目。在我的pom.xml中,我得到了这个错误。 到我的pom.xml。但错误还是一样的。 有人能帮帮我吗?

  • 我在Android Studio中有一个多模块设置,它由一个用于与API通信的纯java模块和一个使用该API模块的Android项目组成。要配置用户名和密码等API变量,我使用所有者(http://owner.aeonbits.org/)。整个构建没有问题。 我在 API 模块中使用了一个 Main-函数来测试事情是否运行良好,他们确实如此。我的问题是,当我尝试在 APi 模块上使用编译依赖项运

  • 在默认状态下,Maven 在 build 的时候不会包含所依赖的 jar 包。当运行一个 Spark 任务,如果 Spark worker 机器上没有包含所依赖的 jar 包会发生类无法找到的错误(ClassNotFoundException)。 有一个简单的方式,在 Maven 打包的时候创建 shaded 或 uber 任务可以让那些依赖的 jar 包很好地打包进去。 使用 <scope>pr