Android Spring Jackson Mapping:NoClassDefFoundError

时间:2012-11-26 18:18:07

标签: android spring rest jackson

我正在尝试让我的Android应用程序作为REST客户端运行。基本上我遵循了这个例子:https://github.com/SpringSource/spring-android-samples/tree/master/spring-android-basic-auth/client/src/org/springframework/android/basicauth

我正在为Android 2.3及更高版本开发。我添加了

spring-android-rest-template-1.0.0.RELEASE.jar
spring-android-auth-1.0.0.RELEASE.jar
spring-android-core-1.0.0.RELEASE.jar and
jackson-mini-1.9.11.jar 

到我的构建路径。

无论如何我总是得到这些错误

11-26 19:01:24.461: E/dalvikvm(15994): Could not find class 'org.codehaus.jackson.map.ObjectMapper', referenced from method org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.<init>
11-26 19:01:24.480: E/AndroidRuntime(15994): java.lang.RuntimeException: An error occured while executing doInBackground()
11-26 19:01:24.480: E/AndroidRuntime(15994): Caused by: java.lang.NoClassDefFoundError: org.codehaus.jackson.map.ObjectMapper

在此代码的第二行:

RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().add(new MappingJacksonHttpMessageConverter());

有人可以帮助我吗?

光圈

2 个答案:

答案 0 :(得分:4)

如果在运行时获得NoClassDefFoundError,那么我怀疑你没有包含.jar文件在运行时工作。您必须选中每个.jar的复选框,如下所示:

enter image description here

答案 1 :(得分:2)

问题的解决方案是(正如Selvin在他的评论中所述)包括完整的杰克逊而不是杰克逊迷你图书馆。 再次感谢塞尔文。