안녕하세요. 꿀발자입니다. 프로그래밍 중 Java 프로젝트를 빌드하거나 실행할 때, invalid source release 21 오류를 만나신 적 있나요? 이 오류는 JDK 버전 설정 문제로 자주 발생하며, 특히 JDK 21과 관련된 빌드 환경에서 나타납니다. 이번 포스팅에서는 이 오류의 원인과 해결 방법에 대해 단계별로 알아보겠습니다.
Invalid Source Release 오류란?
invalid source release 오류는 Java 소스 코드를 Java 코드를 컴파일하거나 빌드할 때 다음과 같은 오류 메시지를 받는 경우가 있습니다. 이 오류는 Java 컴파일러가 소스 코드의 버전을 인식하지 못할 때 발생합니다. 예를 들어, JDK 21 버전을 사용하는 프로젝트에서 시스템에 설치된 JDK가 21보다 낮거나 잘못된 컴파일 설정이 사용 중일 경우 문제가 발생합니다.
Invalid Source Release 발생 원인
Invalid Source Release 발생 원인으로는 JDK 버전 불일치, 환경 변수 오류, 빌드 도구 설정 문제, IDE 설정 문제가 있습니다.
- JDK 버전 불일치: 프로젝트에서 최신 Java 기능(예: JDK 21)을 필요로 하지만, 시스템에 설치된 JDK가 이를 지원하지 않는 경우입니다. 예를 들어, Java 21의 새로운 언어 기능을 사용하는 코드가 JDK 17에서 빌드될 때 문제가 발생합니다.
- 환경 변수 오류: JAVA_HOME이나 PATH가 JDK 21 설치 경로를 제대로 가리키지 않는 경우입니다. 이로 인해 빌드 프로세스가 잘못된 JDK를 참조하게 됩니다.
- 빌드 도구 설정 문제: Maven, Gradle 같은 도구에서 잘못된 소스 또는 타겟 버전이 설정된 경우 발생합니다.
- IDE 설정 문제: IDE(IntelliJ IDEA, Eclipse 등)에서 잘못된 SDK를 설정했거나 프로젝트에서 사용하는 JDK와 IDE 설정이 일치하지 않을 때 발생합니다.
Invalid Source Release 오류 해결
JDK 버전 확인 및 설치
사용하는 시스템 터미널에서 설치된 JDK 버전을 확인하고 설치된 버전이 맞지 않다면 버전에 맞게(예: JDK 21)을 설치하세요.
java -version
출력 결과에서 설치된 JDK 버전이 21 이상인지 확인하세요. 필요 시 Oracle 또는 OpenJDK에서 최신 JDK를 다운로드하여 설치합니다.(Java SE Downloads)
환경 변수 설정
JDK 설치 후, 환경 변수를 수정하여 JDK가 올바르게 참조되도록 설정합니다.
Windows
- “시스템 속성” > “고급 시스템 설정” > “환경 변수”로 이동
- JAVA_HOME 변수에 JDK 설치 경로를 추가
- PATH 변수에
%JAVA_HOME%\bin
을 추가
Mac/Linux
.bashrc
, .zshrc
, 또는 .bash_profile
에 다음 내용을 추가
export JAVA_HOME=/path/to/jdk export PATH=$JAVA_HOME/bin:$PATH
적용 후, 환경 변수가 올바르게 설정되었는지 확인
echo $JAVA_HOME
빌드 도구 설정
프로젝트에서 사용하는 빌드 도구 설정 파일을 수정하세요. Maven 또는 Gradle을 사용하는 경우 sourceCompatibility와 targetCompatibility를 설정합니다.
Maven
Maven의 경우, pom.xml 파일에 JDK 버전을 설정하지 않았거나 잘못 설정한 경우 아래 설정을 추가하거나 업데이트하세요. (Maven Compiler Plugin)
<properties> <maven.compiler.source>21</maven.compiler.source> <maven.compiler.target>21</maven.compiler.target> </properties>
Gradle
Gradle의 경우, build.gradle에서 Java 버전이 잘못 정의된 경우 아래 내용을 추가하세요. (Gradle Java Plugin)
java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 }
IDE 설정
사용 중인 IDE에서 올바른 JDK를 설정하세요.
IntelliJ IDEA
File > Project Structure
로 이동Project SDK
를 JDK 21로 설정Modules
탭에서도 JDK 버전을 확인 후 변경
Eclipse
Window > Preferences > Java > Installed JREs
로 이동- JDK 21이 목록에 없다면 추가하고 기본값으로 설정
- 프로젝트별로
Properties > Java Build Path > Libraries
에서 JDK 21을 선택
Visual Studio Code
- Java Extension Pack 설치
- Visual Studio Code의 확장 마켓플레이스에서
Java Extension Pack
을 설치하세요.
- Visual Studio Code의 확장 마켓플레이스에서
- JDK 경로 설정
- VS Code에서
Ctrl + ,
을 눌러 설정 창을 열고settings.json
에 다음을 추가합니다. - JDK 21이 설치된 경로로 변경합니다. “path” : “JDK 21 설치 경로”
- VS Code에서
- 빌드 및 디버깅 환경 설정
launch.json
또는tasks.json
을 통해 Java 프로그램 실행 시 올바른 JDK 경로를 참조하도록 설정합니다.Run and Debug
메뉴에서Java Environment
를 JDK 21로 선택합니다.
- JDK 설정 확인
- 명령 팔레트(
Ctrl + Shift + P
)를 열고Java: Configure Java Runtime
을 선택하여 JDK가 올바르게 설정되었는지 확인합니다.
- 명령 팔레트(
"java.home": "C:\\Program Files\\Java\\jdk-21", "java.configuration.runtimes": [ { "name": "JavaSE-21", "path": "C:\\Program Files\\Java\\jdk-21", "default": true } ]
캐시 및 빌드 클린
JDK 업데이트, 환경 변수 설정, 빌드 도구 설정, IDE 설정을 모두 수정한 후에도 문제가 지속된다면, 캐시를 정리하고 빌드 디렉토리를 초기화하세요.
mvn clean gradle clean
또는 IDE에서 “Invalidate Caches / Restart”를 실행하세요.
https://honey-dev.com/2024년에-주목해야-할-통합-개발-환경ide과-코드-편집기-인/
Final Thoughts
invalid source release 21 오류는 JDK 버전 및 빌드 설정의 불일치로 인해 발생하는 흔한 문제입니다. 이번 포스팅에서는 오류의 원인부터 해결 방법까지 단계별로 알아보았습니다. JDK를 최신 버전으로 업데이트하고 환경 변수와 빌드 도구 설정을 확인하며, IDE 설정을 적절히 조정하는 것이 핵심입니다. 이를 통해 오류를 신속히 해결하고 안정적인 개발 환경을 구축하실 수 있을 것입니다. 앞으로도 개발 과정에서 발생하는 문제들을 쉽게 해결하시길 바랍니다. 함께 성장하는 꿀팁, 잊지 말고 활용하세요!