У меня есть пакет, который включает в себя и файл xsd для генерации (через JAXB) общих классов, которые актуальны для наших серверных и клиентских приложений.Таким образом, эти классы содержат аннотации XML.
Один клиент - это приложение для Android.Я также хочу использовать эти классы здесь для десериализации JSON, потому что я общаюсь со службой REST, которая доставляет JSON (с Джерси / Джексон ).
Я пытаюсь использовать Джексон (версия 1.7.2) на Android, как это:
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)
Кто знает, как остановить?Джексон от разрешения аннотаций.
Спасибо, Клаус