Я использую XStream для разметки файлов Data.xml. Когда я запускаю его с помощью функции main(), он отлично работает, но когда я пытаюсь запустить его через мое загрузочное приложение, оно дает мне UnknownFieldException.UnknownFieldException только в весеннем загрузочном приложении
Вызванный: com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter $ UnknownFieldException: Нет такого поля workshop.tokenizer.data.Attributes.attribute ---- Отладочная информация ---- сообщение: Нет такое поле workshop.tokenizer.data.Attributes.attribute Поле: атрибут класс: workshop.tokenizer.data.Attributes required-type: workshop.tokenizer.data.Attributes Тип конвертера: com.thoughtworks.xstream.converters. отражающий.ReflectionConverter класс [1]: workshop.tokenizer.data.DataObj класс [2]: java.util.ArrayList преобразователь типа [1]: com.thoughtworks.xstream.converters.collections.CollectionConverter класс [3]: workshop.tokenizer.wrappers.DataObjects версия: 1.4.9
, когда я звоню это метод создания основной объект не в состоянии с этим исключением, но если я называю ту же линию от «государственной статической силы основных ...» она прекрасно работает
@RequestMapping(method = RequestMethod.POST, value = "/test")
public ResponseEntity<SFRecord> execute(@RequestBody RequestDto json)
throws ClassNotFoundException, SQLException, FileNotFoundException {
Request request = json.convert();
Main main = new Main();
RequestObj reqObj = main.execute(request.getSentence());
ResponseEntity<SFRecord> result = restTemplate.exchange(parserUrl, HttpMethod.POST,
new HttpEntity<RequestObj>(reqObj), SFRecord.class);
return result;
}
внутри Main является использовать эту линию, чтобы распаковать data.xml
FileReader reader = new FileReader("Files/Data.xml");
objects = (DataObjects) xstream.fromXML(reader);
любые идеи, почему странное поведение?
Благодаря
Update
Я заметил, что XStreamAlias аннотации игнорируются, так что я добавил xstream.autodetectAnnotations (истина); , но теперь я получаю это исключение:
java.lang.ClassCastException: wrappers.DataObjects cannot be cast to wrappers.DataObjects
Я использую эту строку распаковать в XML:
FileReader reader = new FileReader("Files/Data.xml");
DataObjects objects = (DataObjects) xstream.fromXML(reader);