サーバーおよびクライアントアプリケーションに関連する共有クラスを(JAXBを介して)生成するためのxsdファイルを含むパッケージがあります。したがって、これらのクラスにはXMLアノテーションが含まれています。
1つのクライアントはAndroidアプリです。また、JSONを配信するRESTサービス(Jersey / Jacksonと)と通信するため、ここでこれらのクラスをJSON逆シリアル化に使用したいと思います。
私は次のようにAndroidでJackson(バージョン1.7.2)を使用しようとしています:
ObjectMapper mapper = new ObjectMapper();
mapper = mapper.configure(DeserializationConfig.Feature.USE_ANNOTATIONS,
false);
mapper = mapper.configure(SerializationConfig.Feature.USE_ANNOTATIONS,
false);
FooBar someObject = (FooBar) mapper.readValue(jsonString, FooBar.class);
MAPPERを構成すると、注釈の使用を避ける必要がありますが、それでも
02-07 09:30:18.631: ERROR/AndroidRuntime(447): java.lang.NoClassDefFoundError: javax.xml.bind.annotation.XmlAccessorType
02-07 09:30:18.631: ERROR/AndroidRuntime(447): at java.lang.Class.getDeclaredAnnotations(Native Method)
02-07 09:30:18.631: ERROR/AndroidRuntime(447): at org.codehaus.jackson.map.introspect.AnnotatedClass.resolveClassAnnotations(AnnotatedClass.java:292)
02-07 09:30:18.631: ERROR/AndroidRuntime(447): at org.codehaus.jackson.map.introspect.AnnotatedClass.construct(AnnotatedClass.java:139)
ジャクソンが注釈を解決するのを阻止する秘訣を誰が知っていますか。
ありがとうクラウス