原因:java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/JsonMappingException$Reference
我对Java完全陌生。我试图显示JSON数据,为此我决定使用Jackson库。但是我得到了错误 我正在使用原因:java.lang.NoClassDefFoundError:com/fasterxml/jackson/databind/JsonMappingException$Reference,java,jackson,Java,Jackson,我对Java完全陌生。我试图显示JSON数据,为此我决定使用Jackson库。但是我得到了错误 我正在使用 jackson-annotations-2.3.0.jar jackson-core-2.4.2.jar jackson-databind-2.4.2.jar 这是我的对象,其中有一个依赖项“tnStudentLocLog” 用户控制器类: @Controller @RequestMapping(value="/students") public class StudentContro
jackson-annotations-2.3.0.jar
jackson-core-2.4.2.jar
jackson-databind-2.4.2.jar
这是我的对象,其中有一个依赖项“tnStudentLocLog”
用户控制器类:
@Controller
@RequestMapping(value="/students")
public class StudentController {
private static Logger logger = Logger.getLogger( StudentController.class);
private StudentManagerDelegate studentDelegate;
public StudentController() throws Exception
{
studentDelegate= new StudentManagerDelegate(ServiceType.LOCAL);
}
/********* GET ALL STUDENTS ************/
@RequestMapping(method=RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody SuccessResponse<List<Student>> getAllStudents() throws Exception {
Map<String,List<Student>> studentsMap = new HashMap<String,List<Student>>();
SuccessResponse<List<Student>> resp = new SuccessResponse<List<Student>>();
resp.list = studentDelegate.load();
return resp;
}
但是,在URL中输入“/students/4”时。它显示正确。
我不知道到底发生了什么。我看到很多帖子,它们正在改变Jackson core的版本,注释。但是,这在我的情况下是行不通的
提前感谢您的帮助。欢迎使用java。在使用Java时,首先需要学习的是如何设置和使用类路径。“找不到类”错误意味着一个或多个jar文件不在类路径中。Java不会隐式地查找.jar文件的任何地方(甚至不是类所在的子目录)。你必须告诉它去哪里找。如何设置类路径?这取决于您的平台(Windows、Linux、IIS、Apache、Tomcat、Bluejay、Eclipse等)。好好学习,您将避免许多头痛。您缺少一个jar文件,其中包含所需的类,即
com.fasterxml.jackson.databind.JsonMappingException
您可以在类路径中添加和包含。检查您是否有任何循环依赖项,如果您有循环依赖项,您可以通过@JsonIgnore忽略它。谢谢,我正在使用Linux。我已经包括了所有的.jar文件。我还有一个类,它工作正常,可以获取JSON数据。但是,对于约会类,它正在循环第一个ID=0。我认为它是循环的,因为对象(tnPatientLocLog)中的因变量仍然不起作用..您现在面临什么问题?实际上,有一个与另一个表“tnPatientLocLog”的映射。由于它正在循环JSON数据,这意味着您的
NoClassDefFoundError
问题已经解决。所以你可以接受这个答案,如果你在这方面需要帮助的话,用你的代码发布一个新的问题。这是我的问题。谢谢。这也是我的问题!非常好的捕捉,因为这完全是非直觉的。
@Controller
@RequestMapping(value="/students")
public class StudentController {
private static Logger logger = Logger.getLogger( StudentController.class);
private StudentManagerDelegate studentDelegate;
public StudentController() throws Exception
{
studentDelegate= new StudentManagerDelegate(ServiceType.LOCAL);
}
/********* GET ALL STUDENTS ************/
@RequestMapping(method=RequestMethod.GET)
@ResponseStatus(HttpStatus.OK)
public @ResponseBody SuccessResponse<List<Student>> getAllStudents() throws Exception {
Map<String,List<Student>> studentsMap = new HashMap<String,List<Student>>();
SuccessResponse<List<Student>> resp = new SuccessResponse<List<Student>>();
resp.list = studentDelegate.load();
return resp;
}
{"max":"30","list":[{"studentId":2,"date":1339327730000,"startTime":1339327806000,"endtime":1339329470000,"room":0,"tnStudentLocLog":
[{"id":"studentId":2,"inTime":1339327872000},"sequenceId":2,"outTime":1339327967000,"Student":{"studentId":2,"date":1339327730000,"startTime":1339327806000,"endtime":1339329470000,"tnStudentLocLog":[{"id":{"studentId":2,"room":10,"inTime":1339327872000},"sequenceId":2,"outTime":1339327967000,"Student":{"studentId":2,"date":1339327730000,"startTime":1339327806000,"endtime":1339329470000,"tnStudentLocLog":[{"id":.......