0

アプリケーションのクライアントとして使用しようとしspringています。Androidアプリに正しく入れるのに問題があると思います。Androidアプリのlibsフォルダーにjarの画像を入れました。SOに関する多くの関連する質問が見つかりました。しかし、それらのどれも私を助けませんでした。それが私がここでもう一度尋ねる理由です。android appspring mvc RESTjarsclasspath

ここに画像の説明を入力

ここから参照されているWebサービスを呼び出す方法は次のとおりです。

@Override
protected SowResult doInBackground(Void... params) {
    System.out.println("URLLLL : "+URL);
    RestTemplate rest = new RestTemplate();
    rest.getMessageConverters().add(new MappingJacksonHttpMessageConverter());
    SowResult result = rest.getForObject(URL, SowResult.class);
    return result;
}

そして、私が得ている例外:

FATAL EXCEPTION: AsyncTask #1
java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:200)
at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273)
at java.util.concurrent.FutureTask.setException(FutureTask.java:124)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:561)
at java.lang.Thread.run(Thread.java:1096)
Caused by: java.lang.NoSuchMethodError: org.codehaus.jackson.map.ObjectMapper.getTypeFactory
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.getJavaType(MappingJacksonHttpMessageConverter.java:166)
at org.springframework.http.converter.json.MappingJacksonHttpMessageConverter.canRead(MappingJacksonHttpMessageConverter.java:101)
at org.springframework.web.client.RestTemplate$AcceptHeaderRequestCallback.doWithRequest(RestTemplate.java:542)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:474)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:439)
at org.springframework.web.client.RestTemplate.getForObject(RestTemplate.java:237)
at com.inovarge.shoponway.resttasks.UserRestTask.doInBackground(UserRestTask.java:30)
at com.inovarge.shoponway.resttasks.UserRestTask.doInBackground(UserRestTask.java:1)
at android.os.AsyncTask$2.call(AsyncTask.java:185)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
... 4 more
4

1 に答える 1

1

この例外は、必要な Jackson の依存関係がないことを示しています。まず、構成しMappingJackson2HttpMessageConverterた の代わりに使用することをお勧めしMappingJacksonHttpMessageConverterます。

rest.getMessageConverters().add(new MappingJackson2HttpMessageConverter());

次に、Jackson 2MappingJackson2HttpMessageConverterライブラリの機能に依存します。これには、次のファイルがクラスパスにある必要があります。

  • jackson-databind-2.3.2.jar
  • ジャクソン-注釈-2.3.2.jar
  • ジャクソン-コア-2.3.2.jar

jackson-databind-2.3.2.jarフォルダーには既にあるので、他の 2 つの jarをダウンロードlibsする必要があります。

最後に、Android のNew Build Systemの Gradle プラグインのような依存関係管理システムを使用することを強くお勧めします。手動で行う代わりに、すべての推移的な依存関係のダウンロードを処理します。

于 2014-04-07T03:27:03.690 に答える