1

我正在尝试使用 Jersey 实现执行部署在 tomcat 上的 RESTful Web 服务。

以下是资源类

@Path("/rest") 公共类 PatientResource {

PatientService patientService;

@GET
@Path("/patient/{patientId}")
@Produces(MediaType.APPLICATION_JSON)
public Patient getPatientDetails(@PathParam("patientId") String patientId) {
    //return patientService.getPatientDetails(patientId);
    return new PatientService().getPatientDetails(patientId);
}

@GET
@Path("/patients")
@Produces(MediaType.APPLICATION_JSON)
public PatientData<Patient> getAllPatients() {
    //return patientService.getAllPatients();
    return new PatientService().getAllPatients();
}

}

我在 web.xml 中做了必要的条目,所有必要的 jar 都在类路径中可用,但是当应用程序在 tomcat 上启动并在浏览器中输入 URL 时,我得到以下异常

[Servlet 执行引发异常] 根本原因 java.lang.AbstractMethodError at org.codehaus.jackson.map.AnnotationIntrospector$Pair.findSerializer(AnnotationIntrospector.java:1148) at org.codehaus.jackson.map.ser.BasicSerializerFactory.findSerializerFromAnnotation (BasicSerializerFactory.java:367) 在 org.codehaus.jackson.map.ser.BeanSerializerFactory.createSerializer(BeanSerializerFactory.java:252) 在 org.codehaus.jackson.map.ser.StdSerializerProvider._createUntypedSerializer(StdSerializerProvider.java:782)

知道如何解决吗?

4

1 回答 1

2

您在运行时使用的 Jersey 和 Jackson 版本可能不一致。

你的库版本是什么?

于 2013-02-22T15:41:07.137 回答