java.lang.NoClassDefFoundError: 一个关于jackson的jar问题..

问题出现的环境背景及自己尝试过哪些方法

java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/ObjectMapper
请问这个问题怎么解决呢??????/
QQ截图20200522165414.jpg

我用debug,执行完就会出现这一句找不到class的异常,但是在导入的jar包里找得到这个ObjectMapper...

QQ截图20200522165445.jpg
这个是相关jar

本来导入的是jackson-databind-2.2.3.jar ,一直网上搜问题,有说版本问题的,然后就换了,最后还是不行,都是这个异常### 问题描述

相关代码

package cn.wei.web.servlet;

import com.fasterxml.jackson.databind.ObjectMapper;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

public class FindUserServlet extends HttpServlet {

protected void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

ObjectMapper mapper = new ObjectMapper();

System.out.println("ni shi tiancai ");

//1.获取用户名

String username = request.getParameter("username");

//2.调用service层判断用户名是否存在

//期望服务器响应回的数据格式:{"userExsit":true,"msg":"此用户名太受欢迎,请更换一个"}

// {"userExsit":false,"msg":"用户名可用"}

//设置响应的数据格式为json

response.setContentType("application/json;charset=utf-8");

Map<String,Object> jsons = new HashMap<>();

if("tom".equals(username)){

//存在

jsons.put("userExsit",true);

jsons.put("msg","此用户名太受欢迎,请更换一个");

}else{

//不存在

jsons.put("userExsit",false);

jsons.put("msg","用户名可用");

}

//并且传递给客户端

mapper.writeValue(response.getWriter(),jsons);

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

this.doPost(request, response);

}

}

你期待的结果是什么?实际看到的错误信息又是什么?

希望能运行成功..但是这个类不知道为什么找不到

回答:

你这里的 NoClassDefFoundError 异常时在类加载器在自己的加载目录下找不到 ObjectMapper 类才报出来的。

而你工程应该是一个 JavaWeb 项目吧,跑在 Tomcat 容器中的那种 war 包。

每个 web 应用都有自己的 WebappClassLoader 类加载器,它默认负责加载的路径是/WEB-INF/lib/WEB-INF/classes目录中的类,所以你这里应该把 libs 改成 lib。

或者你可以去 tomcat 存放应用程序目录的 webapps 目录下面找到自己的这个项目,看看它里面包不包含 jackson 的依赖。

以上。

以上是 java.lang.NoClassDefFoundError: 一个关于jackson的jar问题.. 的全部内容, 来源链接: utcz.com/p/170335.html

回到顶部