JAXB xjc 도구를 사용하여 XML 스키마 파일에서 JAXB 클래스 생성
JAXB(Java Architecture for XML Binding) xjc 도구를 사용하여 XML 스키마 파일을 전체 어노테이션이 있는 Java 클래스로 컴파일할 수 있습니다.
시작하기 전에
이 태스크 정보
JAXB API 및 도구를 사용하여 XML 스키마와 Java 클래스 간 맵핑을 설정하십시오. XML 스키마는 XML 문서에서 데이터 요소 및 관계에 대해 설명합니다. 데이터 맵핑 또는 바인딩이 존재하면 XML 문서를 Java 오브젝트로(부터) 변환할 수 있습니다. 이제 데이터 구조를 이해하지 못해도 XML 문서에 저장된 데이터에 액세스할 수 있습니다.
기존 WSDL(Web Services Description Language) 파일부터 시작하는 하향식 개발 접근법을 사용하여 웹 서비스를 개발하려면 WSDL 파일에서 시작할 때 wsimport 도구를 사용하여 JAX-WS(Java API for XML-Based Web Service) 애플리케이션에 대한 아티팩트를 생성하십시오. 애플리케이션에 대한 Java 아티팩트가 생성된 후에는 JAXB 스키마 컴파일러인 xjc 명령행 도구를 사용하여 XML 스키마 파일에서 전체 어노테이션이 있는 Java 클래스를 생성할 수 있습니다. 결과적으로 생성되는 어노테이션이 있는 Java 클래스는 JAXB 런타임이 마샬링(marshalling) 및 역마샬링(unmarshalling)을 위해 XML을 구문 분석하는 데 필요로 하는 모든 필요한 정보를 포함합니다. JAX-WS(Java API for XML Web Service) 애플리케이션 또는 다른 Java 애플리케이션에서 XML 데이터를 처리하기 위해 이 결과 JAXB 클래스를 사용할 수 있습니다.


명령행에서 xjc 도구를 사용하는 것 외에도 Ant 빌드 환경에서 이 JAXB 도구를 호출할 수 있습니다. Ant 빌드 환경 내에서 com.sun.tools.xjc.XJCTask Ant 태스크를 사용하여 xjc 스키마 컴파일러 도구를 호출하십시오. 적절하게 작용하려면, 이 Ant 태스크는 ws_ant 스크립트를 사용하여 Ant를 호출할 것을 요청합니다.

프로시저
- JAXB 스키마 컴파일러인 xjc 명령을 사용하여 JAXB 어노테이션이 있는 Java 클래스를 생성하십시오. 스키마 컴파일러는 app_server_root\bin\ 디렉토리에 있습니다. 스키마 컴파일러는 컴파일에 사용되는 바인딩 옵션에 따라 JAXB 특성 파일 및 Java 소스 파일을 포함하는 일련의 패키지를 생성합니다.
- (선택사항) 사용자 정의 바인딩 선언을 사용하여 기본 JAXB 맵핑을 변경하십시오. XML 스키마 파일에서 또는 개별 바인딩 파일에서 바인딩 선언을 정의하십시오. xjc 명령으로 -b 옵션을 사용하여 사용자 정의 바인딩 파일을 전달할 수 있습니다.
- 생성된 JAXB 오브젝트를 컴파일하십시오. 생성된 아티팩트를 컴파일하려면 WebSphere Application Server에서 JAX-WS용 씬 클라이언트를 클래스 경로에 추가하십시오.
결과
예
- 다음 bookSchema.xsd 스키마 파일을
임시 디렉토리로 복사하십시오.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="CatalogData"> <xsd:complexType> <xsd:sequence> <xsd:element name="books" type="bookdata" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="bookdata"> <xsd:sequence> <xsd:element name="author" type="xsd:string"/> <xsd:element name="title" type="xsd:string"/> <xsd:element name="genre" type="xsd:string"/> <xsd:element name="price" type="xsd:float"/> <xsd:element name="publish_date" type="xsd:dateTime"/> <xsd:element name="description" type="xsd:string"/> </xsd:sequence> <xsd:attribute name="id" type="xsd:string"/> </xsd:complexType> </xsd:schema>
- 명령 프롬프트를 여십시오.
- 스키마 파일이 있는 디렉토리에서 JAXB 스키마 컴파일러인
xjc 명령을 실행하십시오. xjc 스키마 컴파일러 도구는 app_server_root\bin\
디렉토리에 있습니다.
xjc 명령을 실행하면 다음 JAXB Java 파일이 생성됩니다.
generated\Bookdata.java generated\CatalogdData.java generated\ObjectFactory.java
- Java 애플리케이션에서 생성된 JAXB 오브젝트를 사용하여 생성된 JAXB 클래스를 통해 XML 컨텐츠를 조작할 수 있습니다.
xjc 명령에 대한 추가 정보는 JAXB 참조 구현 문서를 참조하십시오.