Android上的Jackson:NoClassDefFoundError ObjectMapper错误

syn*_*gma 2 java android json noclassdeffounderror jackson

我已经尝试根据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):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)

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

  • 我有以下罐子包括(libs文件夹):jackson-annotations-2.2.2.jar,jackson-core-2.2.2.jar,jackson-databind-2.2.2.jar(在所有其他与Robospice相关的罐子中,但杰克逊是导致问题的那个).我也用2.2.3进行了测试(同样的问题)
  • 所有这些都在Eclipse中的"Order and Export"(以及所有其他与Robospice相关的罐子)下进行检查
  • 我没有使用Maven
  • 我已经尝试删除并添加新的jar,清理项目 - 这些都没有
  • 我的应用针对API级别17(Google API,4.2.2)

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

Sot*_*lis 11

您正在引用org.codehaus.jackson.map.ObjectMapper何时应该引用com.fasterxml.jackson.databind.ObjectMapperjackson-databind.

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

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