A JNI error has occurred, please check your installation and try again 에러 - Spring Boot JDK 버전 호환

woniwon·2023년 7월 17일

Spring

목록 보기
3/8
post-thumbnail

카테캠에서 지원해주는 JPA 시큐리티 강의를 따라 프로젝트를 생성하다가 아래와 같은 오류가 발생했다...! 또 불안하게 JNI 에러.. 내가 봐온 JNI 에러는 항상 자바 버전 에러였다 젠장..!!!!! 자바 버전이 컴퓨터에서 꼬인 것 같은데 항상 문제를 일으킨다🫥
확인해보니 역시... 역시.. 이 에러는 현재 Java Runtime이 실행 가능한 버전보다 높은 버전으로 컴파일 해서 발생한 오류였다.

자바 버전 8을 쓰고.. 스프링 부트 버전이 2.4.3일때 알아봤어야 했다.. 언제적 버전..😂
아무튼 시큐리티 강의를 따라 프로젝트를 생성하다보니, 현재 내가 가진 intellij에는 버전 2.4.3이 존재하지 않아 3.1.1로 진행했더니 발생한 것 같다. 다시 한번 버저닝은 중요하다는 것을 깨닫고..

아무튼 글의 본 목적에 맞게 오류 수정을 해보자.

1. Spring Boot와 Spirng의 JDK 버전 호환 확인

스프링 부트와 스프링에서는 호환되는 JDK 버전이 정해져 있다.
간단히 말하자면

스프링 부트 3.X 버전은 JAVA 17이상, 2.X버전은 자바 11을 주로 쓰면 좋다.

Spring Boot JDK 버전 호환

Spring Boot 3.0에는 최소 버전으로 Java 17이 필요하다.

VersionJDK
Spring Boot 3.0JDK 17, 19
Spring Boot 2.3JDK 9, 11

표 출처

추가로 Spring의 JDK 버전 호환도 알아두자...!

Spring JDK 버전 호환

VersionJDK
Spring Framework 5.3.xJDK 8 - 19
Spring Framework 5.2.xJDK 8 - 15
Spring Framework 5.1.xJDK 8 - 112
Spring Framework 5.0.xJDK 8 - 10
Spring Framework 4.3.xJDK 6 - 8

spring boot 공식 깃허브 
Spring 공식 깃허브

-> 두개의 공식 깃허브는 알고 있어야 버저닝 확인이 가능해보인다.
최근 백엔드 시니어 개발자를 뵐 수 있는 기회가 있었는데, 그분이 항상 개발 툴 버전별 특징과 어떤 JDK 버전을 쓸 수 있는지 아는것은 중요하다고 하셨는데 드디어 왜 그런지 알았다,,


2. Intellij에서 JDK버전 수정

화면에서 JAVA 컴파일러 검색

프로젝트 바이트 코드 버전을 사용할 버전으로 변경! (나는 17로 변경)

그리고 build.gradle로 이동해 아래 부분을 고쳐준다.

java {
    sourceCompatibility = '변경할 JDK 버전'
}

3. 프로젝트 구조 변경

파일에서 프로젝트 구조 를 클릭 후, 영어 버전이라면 Projdct Structure


project 탭에서 SDK를 스프링 부트와 호환이 되도록 바꾸어주면 끝!

이렇게 3개를 설정하고 나면 잘 동작할 것이다~~

profile
단순 기록용 Velog 입니다.

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

소중한 정보 감사드립니다!

답글 달기