본문 바로가기

개발/BACK

Spring Boot 환경에서 "Java Error Occurred During Initialization of Boot Layer" 에러 해결 방법

728x90

Spring Boot 애플리케이션을 실행하는 동안 "Java Error Occurred During Initialization of Boot Layer" 오류가 발생할 수 있습니다. 이 오류는 Java 모듈 시스템(JPMS)과 관련된 문제로, 애플리케이션이 시작되는 초기 부트 레이어에서 발생하는 다양한 원인으로 인해 발생할 수 있습니다. 이 포스팅에서는 이 오류의 원인을 분석하고 해결하는 방법을 설명합니다.

 

에러 원인 분석

"Java Error Occurred During Initialization of Boot Layer" 에러는 주로 다음과 같은 이유로 발생합니다:

  1. JAR 파일 충돌: 동일한 모듈 이름을 가지는 여러 JAR 파일이 존재하는 경우.
  2. 모듈 경로 문제: 모듈 경로 설정이 잘못되었거나 필요한 모듈이 누락된 경우.
  3. 손상된 JAR 파일: 프로젝트 내에 손상된 JAR 파일이 포함된 경우.
  4. JDK 버전 호환성 문제: 사용 중인 JDK 버전과 프로젝트 설정 간의 호환성 문제.

각 원인에 대한 해결 방법을 단계별로 설명하겠습니다.

1. JAR 파일 충돌 문제 해결

동일한 모듈 이름을 가지는 여러 JAR 파일이 존재하는 경우, 이를 해결하기 위해 JAR 파일을 정리하고 중복을 제거해야 합니다.

해결 방법

  1. build.gradle 또는 pom.xml 파일에서 종속성을 확인합니다.
  2. 동일한 모듈 이름을 가지는 중복된 종속성이 있는지 확인하고, 불필요한 종속성을 제거합니다.
  3. ./gradlew clean 또는 mvn clean 명령어를 실행하여 빌드 환경을 정리합니다.
  4. 애플리케이션을 다시 빌드하고 실행합니다.

2. 모듈 경로 문제 해결

모듈 경로 설정이 잘못되었거나 필요한 모듈이 누락된 경우, 이를 해결하기 위해 모듈 경로를 올바르게 설정해야 합니다.

 

해결 방법

  1. module-info.java 파일을 열고 필요한 모듈이 모두 선언되어 있는지 확인합니다.
  2. 모듈 경로가 올바르게 설정되었는지 확인합니다. 예를 들어, --module-path 옵션을 사용하여 모듈 경로를 명시합니다.
java --module-path mods -m your.module.name/your.main.Class

 

 

  1. Gradle 또는 Maven 설정 파일에서 모듈 경로 관련 설정을 확인하고 올바르게 설정합니다.

3. 손상된 JAR 파일 문제 해결

프로젝트 내에 손상된 JAR 파일이 포함된 경우, 이를 해결하기 위해 손상된 JAR 파일을 식별하고 교체해야 합니다.

해결 방법

    1. build 폴더나 target 폴더를 삭제하여 기존 빌드 결과를 정리합니다.
    2. 종속성을 다시 다운로드합니다. Gradle의 경우 ./gradlew build --refresh-dependencies, Maven의 경우 mvn clean install 명령어를 사용합니다.
    3. 애플리케이션을 다시 빌드하고 실행합니다.

4. JDK 버전 호환성 문제 해결

사용 중인 JDK 버전과 프로젝트 설정 간의 호환성 문제를 해결하기 위해 JDK 버전을 확인하고 필요한 경우 변경합니다.

해결 방법

  1. 사용 중인 JDK 버전을 확인합니다.
java -version

   

    2. 프로젝트에서 요구하는 JDK 버전을 확인하고, 필요하다면 JDK를 변경합니다. 예를 들어, JDK 11을 사용해야 한다면 JDK 11을 설치하고 환경 변수를 설정합니다.

 

sudo apt-get install openjdk-11-jdk
sudo update-alternatives --config java

 

 

    3. 프로젝트의 build.gradle 또는 pom.xml 파일에서 호환되는 JDK 버전을 설정합니다.

Gradle 예제:

 

sourceCompatibility = '11'
targetCompatibility = '11'

 

 

Maven 예제:

<properties>
  <maven.compiler.source>11</maven.compiler.source>
  <maven.compiler.target>11</maven.compiler.target>
</properties>

 

 

결론

Spring Boot 애플리케이션을 실행하는 동안 발생하는 "Java Error Occurred During Initialization of Boot Layer" 오류는 다양한 원인으로 발생할 수 있습니다. JAR 파일 충돌, 모듈 경로 문제, 손상된 JAR 파일, JDK 버전 호환성 문제 등을 점검하고 해결함으로써 이 오류를 해결할 수 있습니다.

728x90