테스트 환경 및 주요 아젠다
이 프로젝트의 개발 환경
- 개발 언어 및 주요 환경
- OpenJDK 17.0.9
- Gradle 6.7
- 기타 환경
- IntelliJ IDE 2020.3.4 Ultimate Edition
- MacOS Sonoma 14.1.1
IntelliJ IDE에서 새로운 Gradle 프로젝트를 생성하였습니다.
프로젝트 초기 설정이 완료되며 exception in phase 'semantic analysis' in source unit '_buildscript_' unsupported class file major version 61 오류가 발생합니다.
exception in phase 'semantic analysis' in source unit '_buildscript_' unsupported class file major version 61
프로젝트의 Java 버전과 Gradle 버전의 호환성 문제로 의심됩니다.
Step 1: Java 버전 확인
terminal에서 java -version으로 PC에 설치된 자바 버전을 확인합니다.
$ java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment Homebrew (build 17.0.9+0)
OpenJDK 64-Bit Server VM Homebrew (build 17.0.9+0, mixed mode, sharing)
IntelliJ 상단 툴바에서 File | Project Structure | Project Settings | Project의 Project SDK 항목을 확인합니다.
프로젝트의 자바 버전이 PC에 설치된 자바 버전과 동일한 상태입니다.
Step 2: Gradle 버전 확인
terminal에서 gradle -v으로 PC에 설치된 Gradle 버전을 확인합니다.
$ gradle -v
------------------------------------------------------------
Gradle 6.7.1
------------------------------------------------------------
Build time: 2020-11-16 17:09:24 UTC
Revision: 2972ff02f3210d2ceed2f1ea880f026acfbab5c0
Kotlin: 1.3.72
Groovy: 2.5.12
Ant: Apache Ant(TM) version 1.10.8 compiled on May 10 2020
JVM: 15.0.1 (Oracle Corporation 15.0.1+9)
OS: Mac OS X 10.16 x86_64
프로젝트 루트 디렉토리 기준 gradle | wrapper | gradle-wrapper.properties 환경 설정 파일을 확인합니다.
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-bin.zip
프로젝트의 Gradle 버전을 확인 할 수 있습니다.
Step 3: Java 버전과 Gradle 버전 호환성 검사
docs.gradle.org: Compatibility Matrix에서 Java 버전에 따른 Gradle 최소 요구 사항을 확인 할 수 있습니다.
이 프로젝트의 Java 버전은 17.0.9를 사용 중이며, Gradle은 6.7입니다.
호환성 표에 따르면 Java 17부터는 Gradle 7.3 이상 버전에서 호환됩니다.
Java 버전을 낮추거나 Gradle 버전을 업그레이드합니다. 이 프로젝트에서는 Java 버전을 13으로 다운그레이드하여 프로젝트 셋팅을 다시 했습니다.
Java 다운그레이드를 위해 별도 버전의 자바를 설치 후 기존 프로젝트의 다음 항목을 수정합니다.
IntelliJ 상단 툴바에서 File | Project Structure | Project Settings | Project의 Project SDK 항목이 선택하는 자바 SDK를 다운그레이드 된 경로로 변경합니다.
IntelliJ에서 Gradle | Reload All Gradle Project를 실행하고 오류가 해결 된 것을 확인합니다.