2015-02-27 3 views
1

Я использую XStream для преобразования массива в java в xml. Я добавляю эту строку для использования аннотаций.XStream ProcessAnnotations

XStream xStream = new XStream(); 
xStream.processAnnotations(CollectionConverter.class); 

Но это говорит processAnnotations неопределен для xStream. У меня есть xstream.jar в пути построения. Что мне не хватает?

ответ

1

XStreamprocessAnnotations метод был введен в XStream версии 1.3, для более старых версий может использоваться метод Annotations.configureAliases(XStream xstream, Class<?>... topLevelClasses).

+0

Спасибо. У меня были и XStream, и Xstream 1.4 jar. Когда я удалил старую банку и сохранил только банку XStream 1.4, она работает нормально. – Aparna

+0

Кроме того, если я хочу аннотировать только массив, не объявляя класс, содержащий массив, возможно ли это? Когда я добавляю псевдоним Xstream внутри метода, где объявлен массив, я получаю сообщение об ошибке «XStreamAlias ​​запрещен для этого местоположения». Любое обходное решение? – Aparna

+0

Если я правильно понимаю, что вы хотите, тогда ответ - нет, это невозможно. XStream (и другие структуры сериализации) могут сериализовать только члены класса, а не локальные переменные, объявленные в методах. Тем не менее, это еще один вопрос, и правильным способом было бы просто задать новый вопрос и позволить людям отвечать ... –