Spring Boot 버전을 2.x -> 3.x 버전으로 변경 후, Gradle 빌드를 하면 아래의 메시지와 함께 빌드 에러가 발생하는 경우를 볼 수 있다.
- Incompatible because this component declares an API of a component compatible with Java 17 and the consumer needed a runtime of a component compatible with Java 11
이는 Java 버전에 따른 문제인데, 2.x 버전의 경우 Java 11을 사용했지만 3.x 버전으로 변경하는 경우 Java 17을 사용해야 한다.
Java 17을 설정하고 환경변수를 설정해주면 해결 된다. Ubuntu의 경우 아래와 같이 진행한다.
# Java 17 설치
$ sudo apt install openjdk-17-jdk
# 17이 설치된 번호를 입력하여 17로 변경
$ sudo update-alternatives --config java
There are 4 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-amazon-corretto/bin/java 11100021 auto mode
1 /usr/lib/jvm/java-11-amazon-corretto/bin/java 11100021 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 3 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 manual mode
4 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
Press <enter> to keep the current choice[*], or type selection number: 3
# environment 파일에서 JAVA_HOME 환경변수 변경후 저장
$ sudo vi /etc/environment
JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
# Java 버전 확인
openjdk version "17.0.7" 2023-04-18
OpenJDK Runtime Environment (build 17.0.7+7-Ubuntu-0ubuntu118.04)
OpenJDK 64-Bit Server VM (build 17.0.7+7-Ubuntu-0ubuntu118.04, mixed mode, sharing)
'Computer Science > Spring' 카테고리의 다른 글
Spring Boot 버전에 맵핑되는 Spring Framework 버전 확인 방법 (0) | 2023.03.07 |
---|