В Spring Boot Java 11 отсутствуют зависимости времени выполнения - PullRequest
0 голосов
/ 10 октября 2018

Запустил мой загрузочный проект Spring в Java 10 и все нормально работало.Простое изменение 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, и раньше мне не требовались какие-либо банки с каркасом реактора.Я знаю, что в Java 11 из JDK выпало много JEE-компонентов, но это не так.

Я пробовал релиз SpringBoot 2.0.5 и последний выпуск Milestone 2.1 (M4) и его результаты.подобные.Я изменил версию Spring Cloud с Finchley.SR1 на Greenwich.M1 с теми же результатами.

Кто-нибудь еще сталкивался с подобной проблемой?Любая помощь очень ценится.

Редактировать: простое добавление активной зоны реактора в мой Pom в качестве управляемой зависимости вызывает еще одну проблему - он не находит библиотеки Netty ... что странно, поскольку он должен использовать tomcat.

1 Ответ

0 голосов
/ 11 октября 2018

На момент написания этого из документации Spring Boot для Spring Boot 2.1.0.M4 и 2.0.5.RELEASE требуется Java 8 или 9 и Spring Framework 5.1.0.RELEASE или выше.Поэтому я не думаю, что Spring Boot официально пока поддерживает Java 11.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...