JDK 버전 불일치 오류 해결 : Java 컴파일러가 소스 코드의 버전을 인식하지 못할 때
Cause: error: invalid source release: 21
원인
현재 컴퓨터에 설치된 JDK 보다 높은 버전으로 만들어진 모듈을 컴파일할때 Java 컴파일러가 소스 코드의 버전을 인식하지 못할때 발생
- JDK 버전 불일치
- 환경변수 오류
- 빌드 도구 설정 문제
- IDE 설정 문제
오류 해결
1. 현재 버전확인
java -version
java version "20.0.2" 2023-07-18 // 20 버전 사용
Java(TM) SE Runtime Environment (build 20.0.2+9-78)
Java HotSpot(TM) 64-Bit Server VM (build 20.0.2+9-78, mixed mode, sharing)
현재 모듈의 Source Compatibility 등을 다운 그래이드
이 방법은 추천 드리지는 않지만 급할때 처리하면 괜찮습니다.
- Android Studio > File > Project Structure > Module 에서 Properties 탭에서 각각의 Source Compatibility 와 Target Compatibility 을 현재 버전보다 다운 시키면 됩니다.
$JavaVersion.VERSION_21 -> $JavaVersion.VERSION_17
추천 방식
1. JDK 다운로드
현재 컴퓨터의 java version 을 업데이트 하는 것을 추천 드립니다. JDK 다운로드 윈도우 사용자라면 JDK 24(최신 버전) > Windows 에서 자신의 취향대로 다운 받으신 후 인스톨 하시면 됩니다.
2. 환경변수 편집
다운로드 받은 경로로 시스템 환경변수에서 JAVA 경로를 변경하여야 합니다.
- 찾기 에서 '시스템 환경 변수 편집' 혹은 시스템속성 > 고급 시스템 설정 > 환경변수
- JAVA_HOME 변수에 JDK 설치 경로 추가
변수이름 : JAVA_HOME
변수값 : C:\Program Files\Java\jdk-24
- PATH 변수에 %JAVA_HOME%\bin을 추가
3. 적용하기
현재 커맨드 창을 닫고 다시 오픈하신 후 java --version 을 입력하시면 버전이 변경되었음을 확인 하실 수 있습니다.
4. Gradle JDK 변경
위의 까지는 일반적인 JAVA에 대한 설명이고 Android Studio에서는 Gradle JDK 또한 변경하여야 합니다.
- File > Setting > Build, Execution, Deployment > Build Tools > Gradle
- Gradle JDK 에서 현재 다운 받은 경로를 처리하여야 합니다. 만약 보이지 않으면 리스트의 하단에 "Download JDK" 가 있는데 이 부분을 클릭하시면 됩니다.