XJC 명령 줄 도구를 사용하여 내 XSD 스키마 파일에서 Java 클래스를 생성합니다. ObjectFactory 클래스는 불완전한 내용을 생성합니다. 그것은 JAXBElement<Type> createType
장식없이 창조 방법을 생성합니다.JAXB XJC 코드 생성 - ObjectFactory 클래스가 불완전합니다.
이유가 무엇일까요? 감사합니다. Dominik
XJC 명령 줄 도구를 사용하여 내 XSD 스키마 파일에서 Java 클래스를 생성합니다. ObjectFactory 클래스는 불완전한 내용을 생성합니다. 그것은 JAXBElement<Type> createType
장식없이 창조 방법을 생성합니다.JAXB XJC 코드 생성 - ObjectFactory 클래스가 불완전합니다.
이유가 무엇일까요? 감사합니다. Dominik
JAXB2 XJC 생성 바인딩의 일부 유형에만 JAXBElement
래퍼가 필요합니다. @XMLRootElement
어노테이션이있는 유형에는 랩퍼가 필요하지 않으므로 오브젝트 팩터 리는 랩퍼를 생성하지 않습니다. 이것으로
<complexType name="my-type">
...
</complexType>
<element name="my-type" type="tns:my-type"/>
:
스키마에 요소가 있거나 유형이 있습니까? 이것은 대개 이유입니다.
는 JAXB은 XSD는 complexType을 정의하고 예를 들어 동일한 이름이 복합 타입을 사용하여 별도의 요소 정의를 모두 포함하는 경우에만 객체 인스턴스에서 JAXBElement 첨부를 만드는 공장 메소드를 생성 JAXB는 생성 된 클래스에 @XmlRootElement 주석을 주석으로 추가하지 않지만 객체 인스턴스에서 JAXBElement를 작성하는 데 필요한 팩토리 메소드를 제공합니다. 그렇게하면 루트 요소가 아닌 유형의 인스턴스를 루트 요소로 쉽게 직렬화 할 수 있습니다.
최상위 요소로 사용할 complexType 정의 이외에 동일한 이름의 "element"선언을 추가하면 ObjectFactory가 예상되는 팩토리 메소드를 생성합니다.