首页 > 解决方案 > 引起:java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier

问题描述

我正在尝试运行一个企业项目,它是使用 Spring Boot 开发的,我得到了下面的堆栈跟踪。我只想在 IntelliJ 中运行该项目,我怎样才能让它运行,我尝试将 jar 手动添加到 Intellij 中的依赖项中,但我仍然得到 NoClassDefError。如何在这个大型应用程序中调试这个错误?

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled." traceId="" spanId="" parentSpanId="" exportable=""
2020-12-10 12.44.32.814 severity="ERROR" threadname="main" class="o.s.b.SpringApplication" message="Application startup failed" traceId="" spanId="" parentSpanId="" exportable=""
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jacksonFieldFilter': Failed to introspect bean class [com.vue.rest.service.interceptor.JacksonFieldFilter] for lookup method metadata: could not find class that it depends on; nested exception is java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier
    at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:269)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1118)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1091)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
    at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
    at com.test.test.config.Application.main(Application.java:62)
Caused by: java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
    at java.lang.Class.getDeclaredMethods(Class.java:1975)
    at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:613)
    at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524)
Caused by: java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier

我的类路径

在此处输入图像描述

标签: javaspringspring-bootjackson

解决方案


在 dependencies.gradle 中添加了以下依赖项,它工作正常

compile 'org.glassfish.jersey.media:jersey-media-json-jackson:2.31'

推荐阅读