본문 바로가기
Programming/Spring Boot

[Spring Boot] No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.X.X was found.

by 주리니e 2023. 3. 9.
728x90

[Spring Boot] No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.X.X was found.

 

 

 

'Import Getting Started Content' has encountered a problem.

NoMatchingConfigurationSelectionException: No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.4 was found. The consumer was configured to find a runtime of a library compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6.1' but:
  - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.0.4 declares a library, packaged as a jar, and its dependencies declared externally:
      - 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
      - Other compatible attribute:
          - Doesn't say anything about org.gradle.plugin.api-version (required '7.6.1')

...

 

신규 프로젝트 개발 진행을 위한 Spring Boot 프로젝트 생성 중 이클립스에서 위와 같은 오류가 발생하였다. Spring Blog에서 찾아보니 Spring Boot 3.0이 출시되면서 Spring Framework 6.0을 기반으로 하며, Java 17 이상이 필요하다고 나온다.

 

Spring | Home

Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform.

spring.io

현재 나는 Open JDK11을 쓰고 있는 중이라 발생하는 오류이다. Spring Boot 2. 기반의 프로젝트를 생성할 수 있지만 어차피 향후에는 보안 문제로 업데이트를 진행할 것이 뻔하기에 3.대 기반 프로젝트를 위해 오류를 해결해보자.

 

 

  • Open JDK17 설치

아래 링크의 절차에 맞게 Open JDK17을 설치하고 환경변수를 등록하자.

 

[Windows] 윈도우에 OpenJDK 17 설치

[Windows] 윈도우에 OpenJDK 17 설치 윈도우에 OpenJDK17을 설치하기 위해 아래 URL에 접속하여 OpenJDK 17 압축파일을 다운로드 한다. Java Platform, Standard Edition 17 Reference Implementations Java Platform, Standard Edition 1

jiurinie.tistory.com

 

 

  • 이클립스(Eclipse) Java의 default Installed JREs  설정

Window - Preferences - Java - Installed JREs 창을 열고 Add를 눌러 설치한 OpenJDK 17을 아래 이미지의 절차대로 등록한다.

 

 

  • 프로젝트 생성 확인

신규 프로젝트 생성 후 Spring Boot의 버전을 3.x.x 최신버전으로 진행하면 이전과 같은 오류 메세지가 나오지 않고 성공적으로 Gradle 빌드도 수행이 된다.

> Task :nothing UP-TO-DATE

BUILD SUCCESSFUL in 444ms
Working Directory: D:\workspace\demo
Gradle user home: C:\Users\user\.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 7.6.1
Java Home: D:\Java\jdk-17

 

 

  • 지속적인 오류 (eclipse.ini)

환경변수 및 이클립스의 Installed JRE 설정을 17로 변경후에도 위와 같은 오류가 지속적으로 발생하는 경우에는 eclipse.ini 파일을 확인해야 한다. 이클립스 우클릭하여 속성을 확인하면 대상 항목에서 위치를 알수 있는데 파일탐색기를 열어 해당위치로 이동하여 eclipse.ini 파일에서 vm 항목을 확인하자.

위와 같이  -vm 옵션으로 JDK의 버전을 명시하면 11로 가상머신이 실행이 되기 때문에 3.대 Spring Boot 빌드를 할 수 없다. 그러므로 해당 -vm 옵션 값을 삭제하거나 새로 추가한 jdk-17로 변경해야 한다.

# 삭제 또는 jdk17로 변경

#-vm
#D:/Java/jdk-11/bin

-vm
D:/Java/jdk-17/bin

 

728x90

댓글