实习中做关于java web项目,在本地跑的时候没问题,但把war包部署到服务器上出现NoSuchMethodError。如下图所示:
按照https://www.cnblogs.com/xiaoMzjm/p/4566672.html的方法,得知是jar包出现冲突,但我本地没这个错,并无冲突,因此是服务器上出现了jar包冲突
服务器上的jar包存在了项目目录/WEB-INF/lib/下面,我本来要用到的ObjectMapper类是在jackson-mapper-lgpl.jar中,但是发现目录中有多余的jar包jackson-mapper-asl.jar,且顺序在jackson-mapper-lgpl.jar之前,所以org.codehaus.jackson.map.ObjectMapper先找了jackson-mapper-asl.jar里的ObjectMapper类,但该类里并无constructType方法!就报错了。
解决:用rm -f jackson-mapper-asl.jar命令把这个jar包删除,再重启tomcat,就不报错了,哈哈哈~话说同一个类,jar包名却不一样,好坑啊~幸好运气好,猜对了包,要不然不知道怎么找这个冲突的包(大概看名字相似吧~)