我在创建过程中遇到问题创建类路径资源中定义的名为“objectMapper”的bean时出错。我做的唯一改变是
更新pom.xml
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.10</version>
</dependency>
<dependency>
to
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.0.pr3</version>
</dependency>
<dependency>
字符串
我得到以下错误,而执行我的项目
019-10-16 14:04:50.065 [CorrelationId=] ERROR --- [ main] o.s.b.w.e.t.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException.
Message: Error creating bean with name 'org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration':
Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException:
Failed to instantiate [org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$$EnhancerBySpringCGLIB$$c58725a7]:
Constructor threw exception; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'resourceConfigCustomizer' defined in class path resource [org/springframework/boot/autoconfigure/jersey/JerseyAutoConfiguration$JacksonResourceConfigCustomizer.class]:
Unsatisfied dependency expressed through method 'resourceConfigCustomizer' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException:
Error creating bean with name 'objectMapper' defined in class path resource [com/test/test/marketing/banditsorchestrator/config/OwaspConfig.class]:
Post-processing of merged bean definition failed; nested exception is java.lang.IllegalStateException:
Failed to introspect Class [com.fasterxml.jackson.databind.ObjectMapper] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
型
这是我的代码
public class MyNode {
private ObjectMapper objectMapper;
@Bean
@Primary
public ObjectMapper objectMapper() {
JsonFactory factory = new JsonFactory();
factory.setCharacterEscapes(new OwaspCharacterEscapes());
objectMapper = new ObjectMapper(factory);
return new ObjectMapper(factory);
}
型
}
3条答案
按热度按时间nhaq1z211#
我的问题是,尽管pom中没有指定,但我的应用程序使用的是jackson-core的旧版本(2.9.6)。添加了以下内容,解决了我的问题。
字符串
我使用以下命令识别过时的依赖项:
型
kiayqfof2#
更新到2.10.0,问题已解决。
w8biq8rn3#
最后但并非最不重要:检查是否没有重复的依赖项。我花了无数个小时试图解决像你这样的问题。原因是一个过时的Jackson核心部,它超过了新的。