2

我已尝试根据 Robospice 的入门指南将 Robospice 实施到我的应用程序中。我收到以下错误:

09-11 20:28:32.290:E/AndroidRuntime(25480):致命异常:主要

09-11 20:28:32.290: E/AndroidRuntime(25480): java.lang.NoClassDefFoundError: org.codehaus.jackson.map.ObjectMapper

09-11 20:28:32.290: E/AndroidRuntime(25480): 在 org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.(MappingJacksonHttpMessageConverter.java:54)

09-11 20:28:32.290: E/AndroidRuntime(25480): 在 com.my.app.io.service.JsonSpiceService.createRestTemplate(JsonSpiceService.java:37)

这是我迄今为止尝试过的:

  • 我包含以下罐子(libs文件夹):jackson-annotations-2.2.2.jar、jackson-core-2.2.2.jar、jackson-databind-2.2.2.jar(在所有其他与 Robospice 相关的罐子中,除了 Jackson是导致问题的原因)。我也用 2.2.3 测试过(同样的问题)
  • 所有这些都在 Eclipse 中的“订购和导出”下进行检查(以及所有其他与 Robospice 相关的 jar)
  • 我没有使用 Maven
  • 我试过删除和添加新的罐子,清理项目 - 这些都没有奏效
  • 我的应用程序针对 API 级别 17(Google API,4.2.2)

还有什么可能导致这个问题?

4

1 回答 1

11

当您org.codehaus.jackson.map.ObjectMapper应该com.fasterxml.jackson.databind.ObjectMapper引用jackson-databind.

这可能是因为MappingJacksonHttpMessageConverter使用了旧版本,即jackson-mapper-asl-1.9.xx. 你可以在这里得到那些。

否则,请使用MappingJackson2HttpMessageConverter (注意 2)正确使用最新版本的jackson.

于 2013-09-11T18:55:06.123 回答