MAKE IT SIMPLE
[Gradle] Java 11 에서 jaxb 라이브러리 사용하기 본문
2021/01/28 - [Gradle] - [Gradle] XSD, WSDL 파일로 JAXB 클래스 생성하기
[Gradle] XSD, WSDL 파일로 JAXB 클래스 생성하기
Spring Boot 프로젝트에서 gradle build script를 사용하여 스키마 정의 파일을 변환한 자바 오브젝트(jaxb classes)를 생성해줄 수 있다. build.gradle에 사용자 정의 task를 등록해주면 프로젝트 빌드시 지정한.
vincode.tistory.com
저번에 jdk 1.8 에서 xsd, wsdl 스키마 파일로 jaxb 클래스를 생성해 보았다.
자바 8 이후 부터는 jaxb 라이브러리가 내장 되어 있지 않아 javax.xml.bind 패키지가 기본적으로 제공되지 않는다.
간단하게 build.gradle에 직접 필요한 의존성을 추가로 주입해주면 된다. 이 의존성 찾는다고 하루종일 삽질했다..
참고로 자바 11에서 같은 작업을 하려면 jaxb 라이브러리의 버전이 2.2.1 이상이어야 한다!
1) JDK 11 다운받고 jre 등록해주기
-오라클에서 다운받으면 된다.
- 자바 11부터는 jre가 따로 구성되지 않는다. jdk 폴더 경로를(bin까지 아님) STS 나 Eclipse에 등록해주면 된다.
2) Gradle JVM 을 jdk 11로 설정해주기
3) build.gradle 에도 jdk 버전 다시 설정해주기
4) 지원하지 않는 dependency 주입해주기
dependencies {
jaxb group: 'com.sun.xml.bind' , name: 'jaxb-xjc' , version: '2.3.1'
jaxb group: 'com.sun.xml.bind' , name: 'jaxb-impl' , version: '2.3.1'
jaxb group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.1'
jaxb group: 'org.glassfish.jaxb' , name: 'jaxb-core' , version: '2.3.0.1'
compile group: 'javax.activation', name: 'activation', version: '1.1.1'
implementation 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.3'
implementation 'org.glassfish.jaxb:jaxb-runtime:2.3.3'
annotationProcessor 'jakarta.xml.bind:jakarta.xml.bind-api:2.3.3'
annotationProcessor 'org.glassfish.jaxb:jaxb-runtime:2.3.3'
annotationProcessor 'javax.annotation:javax.annotation-api:1.3.2'
}
'Gradle' 카테고리의 다른 글
[Gradle] Jaxb2 Collection Setter 라이브러리 사용하기 (JAVA 11) (0) | 2021.04.28 |
---|---|
[Gradle] XSD, WSDL 파일로 JAXB 클래스 생성하기 (0) | 2021.01.28 |
Comments