JAXB демарширует пользовательские объекты без аннотации
У нас есть XML-файл, который нам нужно разобрать (преобразовать в Java-объект). Теперь объект Java принадлежит третьей стороне, и я не могу аннотировать его для демаршаллинга. Любая идея о том, как я могу Unmarshal без аннотации. Пожалуйста, найдите мой фрагмент кода ниже
JAXBContext context;
try {
context = JAXBContext.newInstance(Abc.class);
Unmarshaller unMarshaller = context.createUnmarshaller();
Abc abc= (Abc) unMarshaller.unmarshal(new FileInputStream("C:\\Documents and Settings\\sandeep.nair\\Desktop\\abc.xml"));
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}catch (Exception e){
}
Я получаю следующее исключение. Один для конструктора без аргументов (я знаю, что могу решить эту проблему, добавив аннотацию к адаптеру, но я хочу узнать или увидеть образец фрагмента для обработки без аннотации)
Точно так же я получаю другое сообщение о том, что интерфейсы не могут быть обработаны JAXB.
com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 5 отсчетов IllegalAnnotationException java.sql.Timestamp не имеет конструктора по умолчанию без аргументов. эта проблема связана со следующим местоположением: на java.sql.Timestamp в публичном java.sql.Timestamp com.test.Abc.getSomeTimestamp () на com.riteaid.entities.customer.Customer com.test.Def не имеет конструктора по умолчанию без аргументов. эта проблема связана со следующим местоположением: на com.test.Def ...
java.sql.Date does not have a no-arg default constructor. this problem is related to the following location: at java.sql.Date ... com.test.Ghi is an interface, and JAXB can't handle interfaces. this problem is related to the following location: ... com.test.Ghi does not have a no-arg default constructor. this problem is related to the following location: ..