자바로 프로젝트 세팅을 하던 중,
main 함수를 실행했는데 이런 에러가 발생했다.
찾아보니, java version 때문에 생긴 일이라고 생각되었으며 여러 가지 해결방법이 있었다.
그러나 언제나와 같이 한 두 가지 방법을 시도해도 안 되었기 때문에,
다음과 같이 해결 방법 3가지를 정리해보았다.
필자의 개발 환경은 다음과 같다.
OS : macOS Catalina
Device : Macbook pro early 2015
Java version : 11 (1.11)
IDE : IntelliJ
Project Management Tool : Maven
1) command + ';' (Project Strucuture 열기)
2) Project SDK랑 Project language level 버전이 동일한지 확인
1) command + ',' (Preferences 열기)
2) 왼쪽 상단에 Compiler 검색 || Build, Execution, Deployment 항목의 하위 항목인 Compiler 열기
3) Compiler의 하위 메뉴인 Java Compiler 들어가기
4) Project bytecode version과 Module의 Target bytecode version 맞춰주기
(11버전이라면 Target bytecode version은 1.11)
Java SDK 9 버전 이상부터 jaxb api 관련 클래스들을 사용할 수 없다.
(EE 버전에서는 사용이 가능하다)
따라서 위와 같은 문제가 생기는 것이다.
해결 방법은 gradle이든, maven이든 jaxb-api와 관련된 dependency를 추가하는 것이다.
지금 이 포스트에서는 maven에서 해결하는 방법을 소개하겠다.
1) pom.xml 열기
2) jaxb-api와 관련한 dependency 추가
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
3. Maven dependencies 새로고침
@Transactional 파헤치기 (0) | 2022.02.15 |
---|---|
Jib란? (+ M1 Mac에서 빌드하기 & Kotlin DSL) (2) | 2021.09.06 |
[Gradle] implementation vs compile (4) | 2020.02.25 |
스프링 부트와 AWS로 혼자 구현하는 웹서비스 문제 해결 (2) | 2020.02.19 |
댓글 영역