Java 11 및 java.lang을 수정하는 방법. TypeNotPresentException: javax.xml.bind.JAXBContext 예외를 입력하시겠습니까?

게시 됨: 2018-12-15

Java11 및 javax.xml.bind.JAXBContext 예외

java.lang.TypeNotPresentException : 유형 javax.xml.bind.JAXBContext가 존재하지 않는 예외에 직면하고 있습니까?

오늘 Eclipse에서 RESTful 서비스를 실행하는 동안 Eclipse 콘솔에서 javax.xml.bind.JAXBContext 오류를 발견했습니다. 같은 프로그램이 작년부터 문제 없이 완벽하게 실행되고 있었습니다.

나는 내 지역 환경에 일어난 변화에 대해 생각하기 시작했습니다. 작년 이후로 코드 체크인이 발생하지 않았으므로 주로 최신 Java 11 업그레이드 때문인 것으로 생각했습니다.

이전 Java 11에 대한 모든 것에서 볼 수 있듯이 Java EE 모듈은 더 이상 지원되지 않습니다. Java 11은 JAXB(Java Architecture for XML Binding) API를 정의하는 java.xml.bind 에 대한 지원을 제거했습니다.

그녀는 완전한 스택 추적입니다.

그리고 그것이 내가 예외를 넘어서기 시작한 이유입니다. javax.xml.bind 용 Java 11 패키지는 더 이상 존재하지 않습니다.

  • Java 7 버전: 포함 및 작동 중
  • Java 8 버전: 포함 및 작동 중
  • Java 9 버전: 더 이상 사용되지 않음
  • Java 10 버전: 더 이상 사용되지 않음
  • Java 11 버전: 제거됨

이 문제를 해결하려면 프로젝트에 JAXB Maven 종속성을 수동으로 추가해야 합니다.

필요한 경우 내 전체 pom.xml 파일은 다음과 같습니다.

Eclipse 프로젝트를 정리하고 Tomcat 서버를 다시 실행해 보십시오. 더 이상 이 문제를 볼 수 없습니다.

행복한 코딩을 하고 위의 Maven 종속성을 추가한 후에도 여전히 이 예외가 발생하면 알려주십시오.