[Java Error] invalid source release 21 해결

안녕하세요. 꿀발자입니다. 프로그래밍 중 Java 프로젝트를 빌드하거나 실행할 때, invalid source release 21 오류를 만나신 적 있나요? 이 오류는 JDK 버전 설정 문제로 자주 발생하며, 특히 JDK 21과 관련된 빌드 환경에서 나타납니다. 이번 포스팅에서는 이 오류의 원인과 해결 방법에 대해 단계별로 알아보겠습니다.

Invalid Source Release 오류란?

invalid source release 오류는 Java 소스 코드를 Java 코드를 컴파일하거나 빌드할 때 다음과 같은 오류 메시지를 받는 경우가 있습니다. 이 오류는 Java 컴파일러가 소스 코드의 버전을 인식하지 못할 때 발생합니다. 예를 들어, JDK 21 버전을 사용하는 프로젝트에서 시스템에 설치된 JDK가 21보다 낮거나 잘못된 컴파일 설정이 사용 중일 경우 문제가 발생합니다.

invalid source release 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

  1. “시스템 속성” > “고급 시스템 설정” > “환경 변수”로 이동
  2. JAVA_HOME 변수에 JDK 설치 경로를 추가
  3. 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

  1. File > Project Structure로 이동
  2. Project SDK를 JDK 21로 설정
  3. Modules 탭에서도 JDK 버전을 확인 후 변경

Eclipse

  1. Window > Preferences > Java > Installed JREs로 이동
  2. JDK 21이 목록에 없다면 추가하고 기본값으로 설정
  3. 프로젝트별로 Properties > Java Build Path > Libraries에서 JDK 21을 선택

Visual Studio Code

  1. Java Extension Pack 설치
    • Visual Studio Code의 확장 마켓플레이스에서 Java Extension Pack을 설치하세요.
  2. JDK 경로 설정
    • VS Code에서 Ctrl + ,을 눌러 설정 창을 열고 settings.json에 다음을 추가합니다.
    • JDK 21이 설치된 경로로 변경합니다. “path” : “JDK 21 설치 경로”
  3. 빌드 및 디버깅 환경 설정
    • launch.json 또는 tasks.json을 통해 Java 프로그램 실행 시 올바른 JDK 경로를 참조하도록 설정합니다.
    • Run and Debug 메뉴에서 Java Environment를 JDK 21로 선택합니다.
  4. 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 설정을 적절히 조정하는 것이 핵심입니다. 이를 통해 오류를 신속히 해결하고 안정적인 개발 환경을 구축하실 수 있을 것입니다. 앞으로도 개발 과정에서 발생하는 문제들을 쉽게 해결하시길 바랍니다. 함께 성장하는 꿀팁, 잊지 말고 활용하세요!

Leave a Comment