728x90
반응형
JDK17을 사용하는 프로젝트를 JDK21로 변경하고 프로젝트를 실행하니 아래와 같은 에러가 발생했습니다.
Unsupported Gradle JVM.
Your build is currently configured to use Java 21 and Gradle 7.6.1.
Possible solutions:
- Use Java 19 as Gradle JVM: Open Gradle settings
- Upgrade to Gradle 8.5 and re-sync
프로젝트에서 사용하는 gradle 버전은 7.6.1인데 해당 gradle 버전이 JDK21을 지원하지 않아서 발생한 에러입니다.
Gradle 호환성 매트릭스 사이트에서 Gradle 버전에 따라 호환되는 JDK 버전, Kotlin 버전을 확인할 수 있습니다.
사이트에서 아래의 표를 확인하면 JDK21은 Gradle 8.5 이상을 사용하면 됩니다.
위의 표에서 확인한 gradle 8.5 버전에 맞는 kotlin 버전도 확인해줍니다.
gradle-wrapper.properties 파일의 gradle 버전을 변경하고 Load Gradle Changes를 하면 .gradle 폴더에 8.5가 생깁니다.
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
그리고 프로젝트를 실행하니 다른 에러가 발생했습니다.
Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree qualid'
해당 에러는 프로젝트에서 사용하는 롬복의 버전이 JDK21을 지원하지 않아서 발생하는 에러로 kotlin에서는 롬복을 사용하지 않기 때문에 롬복을 제거하고 프로젝트를 실행하니 정상 실행되었습니다.
728x90
반응형
'개발 > spring, spring boot' 카테고리의 다른 글
Spring Boot: Configuration Class 오류 해결 방법 - I/O Failure (2) | 2024.09.13 |
---|---|
Kotlin을 사용한 sitemap.xml 자동 생성 방법 (Spring Boot) (1) | 2024.09.05 |
Spring Boot 의존성 확인 방법 (0) | 2024.07.02 |
[Spring integration] TCP 연결 끊김 처리, connectionId (0) | 2024.06.25 |
[Spring Integration] [tcp server] 역직렬화 처리 시 주의사항 (0) | 2024.06.17 |