2017-09-27 6 views
1

여기 해결책을 찾아 보았지만 그 중 아무 것도 저에게 효과가 없었습니다. 그러므로 포스트.JAXB 가져 오기 IllegalAnnotationExceptions UnMarshal 준비

<?xml version="1.0" encoding="utf-8"?> 
<ElementList> 
    <Element El1="111" EL2="222" EL3="333" EL4="444" /> 
    <Element El1="1111" EL2="22222" EL3="3333" EL4="4444" /> 
</ElementList 

를 ClassA :

@XmlRootElement(name = "ElementList") 
@XmlAccessorType(XmlAccessType.FIELD) 
class ClassA { 

    @XmlElement(name = "Element") 
    private List<ClassB> classBList; 

    ClassA(final List<ClassB> classBList) { 
     this.classBList = classBList; 
    } 

    List<ClassB> getClassBList() { 
     return classBList; 
    } 

    void setClassBList(final List<ClassB> classBList) 
    { 
     this.classBList = classBList; 
    } 
} 
다음

내가 비 정렬 화에 내 샘플 XML 노력하고 있습니다 나는 JAXBContext에 여기

final JAXBContext jaxbContext = JAXBContext.newInstance(new Class[] { ClassA.class, ClassB.class }); 
final Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); 
return (ClassA) jaxbUnmarshaller.unmarshal(content); 

전화를 사용하고있는 코드입니다

클래스 B :

,113,210

나는 심지어 다른 솔루션 I이 무엇입니까 이상가는 후

1 counts of IllegalAnnotationExceptions 

을 얻고있다, 그래서 내가 뭔가를 놓친 것을 확신 또는 오른쪽없는 일을하고있다. 나는 이것에 하루의 좋은 부분을 보낸다.

누군가 나를 알아낼 수 있습니까? 나는 정말로 도움을 감사 할 것이다.

답변

2

난 당신의 코드를 테스트 한이 전체 오류입니다 : 클래스 A는 기본 생성자가 없기 때문에

Exception in thread "main" com.sun.xml.bind.v2.runtime.IllegalAnnotationsException: 1 counts of IllegalAnnotationExceptions 
com.package.ClassA does not have a no-arg default constructor. 
    this problem is related to the following location: 
     at com.package.ClassA 

비 정렬 화에 실패, 즉, 인수가없는 생성자입니다. 하나 추가하는 트릭을 않습니다.

+0

문제가 해결되었습니다. 나는 이상한 기본 생성자를 생성 할 필요가 없다고 예상했으나 작동한다. 고맙습니다!! – SonalKhodiyar