Невозможно запустить приложение после обновления версии jackson-databind - PullRequest
1 голос
/ 13 марта 2020

Я работаю над приложением с весенней загрузкой, хочу обновить jackson-databind с 2.9.10.2 до 2.10.2 . Ниже приведен фрагмент моего pom. xml и ошибка, которую я получаю после обновления зависимости:
pom. xml:

         <dependency>
            <groupId>com.fasterxml.jackson.dataformat</groupId>
            <artifactId>jackson-dataformat-xml</artifactId>
            <version>2.9.9</version>
            <exclusions>
                <exclusion>
                    <groupId>com.fasterxml.jackson.core</groupId>
                    <artifactId>jackson-databind</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.10.2</version>
        </dependency>


Dependency hierarchy ОШИБКА:

Ошибка запуска ApplicationContext. Чтобы отобразить отчет об условиях, перезапустите приложение с включенной отладкой. 13-03-2020 17: 38: 52.660 || ОШИБКА | osboot.SpringApplication: 821 | Сбой при выполнении приложения org.springframework.beans.factory.BeanCreationException: Ошибка при создании компонента с именем 'requestMappingHandlerAdapter', определенным в ресурсе пути к классу [org / springframework /boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: не удалось создать экземпляр объекта с помощью метода фабрики; вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.web.servlet. mvc .method.annotation.RequestMappingHandlerAdapter]: метод фабрики 'requestMappingHandlerAdapter' вызвал исключение; вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration ': не удалось создать экземпляр компонента с помощью конструктора; вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration $$ EnhancerBySpringCGLIB $$ 1f3fad: исключение]: Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'mappingJackson2HttpMessageConverter', определенным в ресурсе пути к классу mappingJackson2HttpMessageConverter 'параметр 0; вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure / jackson / JacksonAutoConfiguration $ JacksonObjectMapperConfiguration.classged be-post-bean-post-be-bean-объект Post-Beans: определение не удалось; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. factory.support.ConstructorResolver. AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory java:. 1321) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory java:. 1160) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean ( AbstractAutowireCapableBeanFactory. java: 555) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory. java: 51pr) или ingframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory. java: 320) в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (Defaultg) .gr. .beans.factory.support.AbstractBeanFactory. .support.DefaultListableBeanFactory. preInstantiateSingletons (DefaultListableBeanFactory. java: 845) в org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext. java: 877 * абстрактная_пункт.ПредложенияПредложения.Предложения.Предложения.Предложения.Предложения.Предложения.Предложения.Предложения. 1049 *: 549) в org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refre sh (ServletWebServerApplicationContext. java: 140) в org.springframework.boot.SrereApp. 1053 *: 742) в org.springframework.boot.SpringApplication.refreshContext (SpringApplication. java: 389) в org.springframework.boot.SpringApplication.run (SpringApplication. java: 311) в org.springframework.boot. SpringApplication.run (SpringApplication. java: 1213) в org.springframework.boot.SpringApplication.run (SpringApplication. java: 1202) в com.finicity.accountowner.AccountOwnerApplication.main (AccountOwnerApplication. java): 1058 * Вызывается: org.springframe work.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.web.servlet. mvc .method.annotation.RequestMappingHandlerAdapter]: метод фабрики 'requestMappingHandlerAdapter' вызвал исключение; вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка при создании компонента с именем org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration ': не удалось создать экземпляр компонента с помощью конструктора; вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration $$ EnhancerBySpringCGLIB $$ 1f3fad: исключение]: Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'mappingJackson2HttpMessageConverter', определенным в ресурсе пути к классу mappingJackson2HttpMessageConverter 'параметр 0; вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure / jackson / JacksonAutoConfiguration $ JacksonObjectMapperConfiguration.classged be-post-bean-post-be-bean-объект Post-Beans: определение не удалось; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy. java: 185) в org.springframework.beans.factory.support.ConstructorResolver.instantiate (ConstructorResolver. java: 622) ... 19 общих кадров, пропущенных или пропущенных .springframework.beans.factory.BeanCreationException: Ошибка создания компонента с именем org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration ': не удалось создать экземпляр компонента с помощью конструктора; вложенное исключение - org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration $$ EnhancerBySpringCGLIB $$ 1f3fad: исключение]: Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'mappingJackson2HttpMessageConverter', определенным в ресурсе пути к классу mappingJackson2HttpMessageConverter 'параметр 0; вложенное исключение - org.springframework.beans.factory. BeanCreationException: Ошибка при создании bean-компонента с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure / jackson / JacksonAutoConfiguration $ JacksonObjectMapperConfiguration.class]: не удалось выполнить постобработку определения объединенного компонента; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. factory.support.ConstructorResolver.instantiate (ConstructorResolver. java: 304) в org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor (ConstructorResolver. java: 285) в org.springppra. AbstractAutowireCapableBeanFactory.autowireConstructor (AbstractAutowireCapableBeanFactory java:. 1341) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory java:. 1187) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean ( AbstractAutowireCapableBeanFactory. java: 555) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory. java: 515fbeme или другой) actory.support. .support.AbstractBeanFactory. (. ConstructorResolver java: 392) .instantiateUsingFactoryMethod на org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory java:. 1321) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory . java: 1160) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory. java: 555) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory. java: 515) в org.springframework.beans.factory.suory .springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry. java: 222) в org.springframework.beans.factory.support. .factory.support. .DefaultListableBeanFactory. ringframework.beans.factory.ObjectProvider.ifAvailable (ObjectProvider. java: 91) в org.springframework.boot.autoconfigure.web.servlet. web.servlet.config.annotation.WebMvcConfigurerComposite.configureMessageConverters (WebMvcConfigurerComposite. java: 137) по адресу org.springframework.web.servlet.config.annotation.DelegatingWebMvcConfiguration springframework.web.servlet.config.annotation.WebMvcConfigurationSupport.getMessageConverters (WebMvcConfigurationSupport. java: 745) в org.springframework.web.servlet.config.annotation *WebMvcCong. springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration $ EnableWebMvcConfiguration.requestMappingHandlerAdapter (WebMvcAutoConfiguration java:. 450) в org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration $ EnableWebMvcConfiguration $$ EnhancerBySpringCGLIB $$ 52ad7f39.CGLIB $ requestMappingHandlerAdapter $ 6 () в org.springframework.boot. 1097 *: 244) в org.springframework.context.annotation.ConfigurationClassEnhancer $ BeanMethodInterceptor.intercept (Configurat ionClassEnhancer. java: 363) по адресу org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration $ EnableWebMvcConfiguration $$ EnhancerBySpringCGLIB $$ 52ad7f39.request .NativeMethodAccessorImpl.invoke (Неизвестный источник) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Неизвестный источник) в java .lang.reflect.Method.invoke (Неизвестный источник) в org.springframework.beans.factorySisin.Intiti. . Конструктор бросил исключение; Вложенное исключение - org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка при создании bean-компонента с именем 'mappingJackson2HttpMessageConverter', определенным в ресурсе пути к классу mappingJackson2HttpMessageConverter 'параметр 0; вложенное исключение: org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure / jackson / JacksonAutoConfiguration $ JacksonObjectMapperConfiguration.classged be-post-bean-post-be-bean-объект Post-Beans: определение не удалось; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. BeanUtils.instantiateClass (BeanUtils. java: 184) в org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy. java: 117) в org.springframework.beansverolti.su ConstructorResolver. java: 300) ... пропущено 58 общих фреймов. http / JacksonHttpMessageConvertersConfiguration $ MappingJackson2HttpMessageConverterConfiguration.class]: неудовлетворенная зависимость, выражаемая параметром 0 метода mappingJackson2HttpMessageConverter; Вложенное исключение - org.springframework.beans.factory.BeanCreationException: ошибка создания бина с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure / jackson / JacksonAutoConfiguration $ JacksonObjectMapperConfiguration.class]: Пост-обработка определения объединенного компонента завершилась неудачно; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver. java: 769) в org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod (ConstructorResolver. * 11fact.pr. AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod (AbstractAutowireCapableBeanFactory java:. 1321) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory java:. 1160) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean ( AbstractAutowireCapableBeanFactory. java: 555) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory. java: 515) в org.springframework. .springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory. java: 318) в org.springframework.beans.factory.support. , .DefaultListableBeanFactory.findAutowireCandidates (DefaultListableBeanFactory. java: 1431) в org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveMultipleBeans * DefaultListableBe23.graf ory.support.DefaultListableBeanFactory. support.DefaultListableBeanFactory $ DependencyObjectProvider.orderedStream (DefaultListableBeanFactory java:. 1926) в org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration (HttpMessageConvertersAutoConfiguration java:. 62). в org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration $$ EnhancerBySpringCGLIB $$ 1f3fa4d. () В sun.reflect.NativeConstructorAccessorImpl.newInstance0 (нативный метод) в sun.reflect.NativeConstructorAccessorImpl.newInstance (неизвестный источник) в sun.reflect.Dnews. Неизвестный. lang.reflect.Constructor.newInstance (неизвестный источник) по адресу org.springframework.beans.BeanUtils.instantiateClass (BeanUtils. java: 172) ... опущено 60 общих фреймов. Причина: org.springframework.beans.factory.BeanCreationException: Ошибка создания бина с именем 'jacksonObjectMapper', определенного в ресурсе пути к классу [org / springframework / boot / autoconfigure. /jackson/JacksonAutoConfiguration$JacksonObjectMapperConfiguration.class]: пост-обработка определения объединенного компонента не выполнена; вложенное исключение: java .lang.IllegalStateException: не удалось проанализировать класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.beans. factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory. java: 570) в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory. createBean (AbstractAutowireCapableBeanFactory. java: 515) по адресу org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory. java: 320) в org.sож. (DefaultSingletonBeanRegistry. java: 222) в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory. java: 318) в org.springframework.beans.factory.subeeFF (BeBeF). 1138 *: 199. . . java: 857) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray (ConstructorResolver. java: 760) ... 83 пропущенных общих кадра Причины: java .lang.IllegalStateException: не удалось introspect Класс [com.faster xml .jackson.databind.ObjectMapper] из ClassLoader [sun.mis c. Launcher$AppClassLoader@18b4aac2] в org.springframework.util.ReflectionUtils.getDeclaredMethods (ReflectionUtils. java: 507) в org.springframework.util.ReflectionUtils.doWithLocalMethods (ReflectionUtils. java: 367) в org.springframework.orm.jpa.support. поддержка factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors (AbstractAutowireCapableBeanFactory. java: 1077) в org.springframework.beans.factory .support. 1154 * .lang.NoClassDefFoundError: com / fastxml / jackson / core / StreamReadFeature в java .lang.Class.getDeclaredMethods0 (собственный метод) в java .lang.Class.privateGetDeclaredMethods (неизвестный источник) в * 1157. .Class.getDeclaredMethods (Неизвестный источник) в org.springframework.util.ReflectionUtils.getDeclaredMethods (ReflectionUtils. java: 489) ... опущено 99 общих фреймов. Причина: java .lang.ClassNotFoundException: com.faster xml .jackson.core.StreamReadFeature в java. net .URLClassLoader.findClass (неизвестный источник) в java .lang.ClassLoader.loadClass (неизвестный источник) в sun.mis c .Launcher $ AppClassLoader.loadClass (Неизвестный источник) в java .lang.ClassLoader.loadCla ss (неизвестный источник) ... 103 общих кадра опущено

Ответы [ 2 ]

2 голосов
/ 13 марта 2020

Обычно вы не можете просто удалить зависимость зависимости и заменить ее другой версией. Это может сработать, но не обязательно, и с Джексоном тебе не повезет. Если произошел какой-либо рефакторинг или изменения в API внутренней зависимости, которая используется внешней, вы увидите ClassNotFoundException, как вы, или MethodNotFound.

, вам необходимо обновить com.fasterxml.jackson.dataformat:jackson-dataformat-xml до версии 2.10.2 (или даже 2.10.3.

0 голосов
/ 16 марта 2020

@ Nicktar был частично прав, проблема была с jackson-core. jackson-core разрешено из jackson-dataformat-xml ( 2.10.3 ) была версия 2.9.9 , явно подняв ее до требуемого 2.10.3 , и исправила проблему. Спасибо за помощь, хотя.

...