2012-11-26 299 views
3

我想讓我的android應用程序功能作爲一個REST客戶端。基本上我遵循這個例子:https://github.com/SpringSource/spring-android-samples/tree/master/spring-android-basic-auth/client/src/org/springframework/android/basicauthAndroid的春天傑克遜映射:NoClassDefFoundError

我正在開發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()); 

任何人可以幫助我在這裏?

光圈

+1

傑克遜迷你沒有映射功能...使用「全」(核心+映射器)版本 – Selvin

+0

這解決了我的問題。感謝Selvin! – friday

+0

除非您知道所有錯綜複雜的依賴項,否則可以安全地使用包含超級依賴項集的jackson-all-x.x.x.jar。最後我檢查了一下,最新的版本是1.9.11。位於此處:[http://wiki.fasterxml.com/JacksonDownload](http://wiki.fasterxml.com/JacksonDownload)。乾杯。 –

回答

2

這個問題的解決方案是(如Selvin在他的評論中指出)包括完整的傑克遜而不是傑克遜的迷你圖書館。 再次感謝Selvin。

4

如果你在運行期間得到NoClassDefFoundError,那麼我懷疑你不包括.jar文件在運行時的工作。你必須檢查的複選框這樣每個的.jar:

enter image description here