반응형

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)

 

반응형
반응형

Spring Boot을 이용하다보면 가끔 Spring Framework의 버전이 무엇인지 확인할일이 생깁니다.

gradle 파일에 Spring Boot의 버전은 지정했으나, Core인 Spring Framework의 버전은 따로 명시하지 않는 경우

어떻게 확인해야 할지 난감합니다.

 

 

이때는 Spring Boot의 Maven Repository에서 참고하면 쉽게 확인 가능합니다.

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter

 

링크에 접속하면 Repository에 올라와 있는 Spring Boot의 버전들이 보입니다.

찾고자 하는 버전을 눌러 Compile Dependencies 내용을 확인 합니다.

그리고 Dependencies 내용에서 spring-core의 버전을 참고하면 됩니다.

 

 

예를들어, Spring Boot 2.7.9 버전의 Framework 버전을 확인한다면, 아래 페이지에서

https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter/2.7.9

 

spring-core 버전이 5.3.25 버전임을 확인할 수 있습니다.

반응형

+ Recent posts