我正在Tomcat 7中运行Jersey 2.x应用程序。我正在使用具有所有正确依赖项的Jackson 2。
我用JerseyTest
编写了一个基本测试来检查我的API。我的杰克逊注释在这里可以正常工作。但是,一旦将其部署到Tomcat中,我的Jackson注释都无法正常工作。
另一个有趣的事情是,当我在默认的Jersey ObjectMapper
上注册自定义解串器时
private static ObjectMapper createDefaultMapper() {
final ObjectMapper mapper = new ObjectMapper();
final SimpleModule module = new SimpleModule();
module.addDeserializer(MyEntity.class, new MyEntityDeserializer());
mapper.enable(SerializationFeature.INDENT_OUTPUT);
mapper.registerModule(module);
return mapper;
}
解串器在Tomcat中拾取。只是带有注释而已。
我尝试过的注释是
@JsonCreator
@JsonDeserialize
@JsonSetter
我不太确定从哪里开始调试此问题。
答案 0 :(得分:0)
结果是,我从我的Web应用程序中引用的实体被编译成JAR,而Tomcat 未重新加载了它们。重新启动tomcat解决了该问题。