在centos7的服务器上部署springboot项目打包后的jar包,无法运行。 报错信息如下
2020-08-18 21:42:54.974 ERROR 1214 --- [ main] o.s.b.web.embedded.tomcat.TomcatStarter : Error starting Tomcat context. Exception: org.springframework.beans.factory.BeanCreationException. Message: Error creating bean with name 'formContentFilter' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.web.servlet.filter.OrderedFormContentFilter]: Factory method 'formContentFilter' threw exception; nested exception is java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.Module.getTypeId()Ljava/lang/Object;
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.http.converter.json.Jackson2ObjectMapperBuilder.registerWellKnownModulesIfAvailable(Jackson2ObjectMapperBuilder.java:796)
The following method did not exist:
com.fasterxml.jackson.databind.Module.getTypeId()Ljava/lang/Object;
The method's class, com.fasterxml.jackson.databind.Module, is available from the following locations:
jar:file:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/lib/ext/jackson-databind-2.2.3.jar!/com/fasterxml/jackson/databind/Module.class
jar:file:/root/springboot2-2.0.0.jar!/BOOT-INF/lib/jackson-databind-2.11.2.jar!/com/fasterxml/jackson/databind/Module.class
The class hierarchy was loaded from the following locations:
com.fasterxml.jackson.databind.Module: file:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre/lib/ext/jackson-databind-2.2.3.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of com.fasterxml.jackson.databind.Module
com.fasterxml.jackson.databind包是由springboot的基础包导入的,所有jackson的包均为2.11.2版本。在测试中,仅仅简单的使用objectmapper对字符串进行json格式化这一操作。
@Controller
public class TestController {
ConstantTypeDaoImpl constantTypeDao = new ConstantTypeDaoImpl();
ObjectMapper mapper = new ObjectMapper();
@RequestMapping(value = "/test")
@ResponseBody
public String test1() throws JsonProcessingException {
List<ConstantType> constantTypes = constantTypeDao.getAll();
return mapper.writeValueAsString(constantTypes);
}
}
windows本地运行正常,但当在linux运行时便报错。望大佬能够指点迷津。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。