java - Android 上的 jackson : NoClassDefFoundError ObjectMapper error

标签 java android json jackson noclassdeffounderror

我已尝试根据 Robospice 的 Starter Guide 将 Robospice 实现到我的应用程序中. 我收到以下错误:

09-11 20:28:32.290: E/AndroidRuntime(25480): FATAL EXCEPTION: main

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): at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.(MappingJacksonHttpMessageConverter.java:54)

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

到目前为止,这是我尝试过的:

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

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

最佳答案

当您应该引用 com.fasterxml.jackson.databind.ObjectMapper 时,您正在引用 org.codehaus.jackson.map.ObjectMapper,它位于 jackson -数据绑定(bind)

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

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

关于java - Android 上的 jackson : NoClassDefFoundError ObjectMapper error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18749009/

相关文章:

jQuery token 输入 : readonly not working

java - 使用 Gson RuntimeTypeAdapterFactory 和 lenient = true 设置

java - Jsoup 细粒度解析

java - 我在为Greenfoot MyWorld类设置颜色时遇到麻烦

android - 如何在准备时释放媒体播放器

android - 创建 admob 原生高级广告 ID

android - MPAndroidChart y 轴网格线乱七八糟。如何安排妥当?

javascript - 循环 JSON 数据以创建 d3 饼图

使用 JAX-WS 将 Java 方法公开为 Web 服务

java - Cassandra 触发器