baidu/baiduads-sdk

com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule not found导致sprinboot项目无法正常启动

zhuangchongyi opened this issue · 1 comments

sdk版本

<dependency>
            <groupId>com.baidu.dev2</groupId>
            <artifactId>baiduads-sdk</artifactId>
            <version>2023.1.0</version>
        </dependency>

sprinboot项目无法正常启动
image

报错提示com.fasterxml.jackson.databind.Module: Provider com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule not found
原因是因为我logback.xml文件配置了

<springProfile name="test|prod">
        <root level="info">
            <appender-ref ref="logstash"/>
        </root>
    </springProfile>

发现去掉之后正常可以启动
image
翻了下源码发现是这里会自动加载
吐槽一下,一启动就直接挂掉,没有任何错误信息,排查了一天,最后还是在main方法try 一下,发现是没有此com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule导致的
image

try {
            SpringApplication.run(Application.class, args);
        } catch (Throwable e) {
            e.printStackTrace();
        }

加完后
image

现解决方案是再加个jackson-module-jaxb-annotations的依赖

<dependency>
            <groupId>com.fasterxml.jackson.module</groupId>
            <artifactId>jackson-module-jaxb-annotations</artifactId>
        </dependency>

看上去好像是项目中 net.logstash.logback 依赖 jackson相关组件引起的,应该跟SDK无关

请检查项目中以下的依赖

 <groupId>net.logstash.logback</groupId>
 <artifactId>logstash-logback-encoder</artifactId>