middlemoon

(예외오류)Version 1.8.0_261 of the JVM is not suitable for this product 본문

Develop/Springboot

(예외오류)Version 1.8.0_261 of the JVM is not suitable for this product

중대경 2022. 8. 16. 22:21

오류메세지는 다음과 같다. Version 1.8.0_261 of the JVM is not suitable for this product. Version:11 or greater is required.

 

1.8.0_261 이 담겨져있어 지금의 프로그램을 실행하는데 어려움이 있다는 뜻이다. 쉽게 말해 1.8버전으로 인해 11버전을 이용할 수 없다는 것!!

 

처음엔 구글링을 통해 남들과 같은 오류라고 생각했다

 

1.--vm
/Library/Java/JavaVirtualmachines/jdk-11.0.15.1.jdk/Contents/Home/bin

 

 

2.자바버전의 일치성 여부 판단

-Dosgi.requiredJavaVersion=11

 

처음엔 자바버전이 11이지만 1.8으로 혹시나 해보았지만 configuration log error가 떠서 1.8로 두기에는 아니라고 확신을 했다

나머지는 --vm path를 설정해주는것인데 이것을 왜 해주냐면 jdk의 경로를 통해 실행을 시켜야 작동하기 때문이다.

 

하지만 남들처럼 구글링을 하고 실행하려했으나 어김없이 Version 1.8.0_261 of the JVM is not suitable for this product. Version:11 or greater is required. 발생 정말 난감했다

오늘 하루종일 오류가 무엇인지 구글링을 하며 해결하려 노력했다

 

 

다른 방법이 없었다. 11버전으로 쓰려했는데 도대체 뭐가 문제일까? 곰곰히 생각해보았다

터미널에

/usr/libexec/java_home -V 도 찍어보고 (default)

 

 

/usr/libexec/java_home --version 1.8  (특정 jre)

 

값 둘의 동시에 찍어보면서

각각의 경로는 11.0.15.1 의 path는 cd/ library / java / javavirtualmachine/ jdk-11.0.15.1의 루트

1.8의 corretto의 루트는 user/library/java/ javairtualmachine/ jdk1.8 ~ 의 루트에 담겼다.

 

 

이것때문에 Springframework를 실행못한 이유

 

분명히 나는 path를 조회해보면서 같은 폴더에 있는데 왜 이 폴더는 안보이는 걸까?? 계속고민했다

답은 서로의 루트가 달랐다. 11.0.15의 버전은 library로 바로 들어가고

다른 나머지는 user라는 경로가 붙기때문이었다. 나는 당연히 이게문제가 될줄은 몰랐었다

하지만 개발을 하다보면 알겠지만 환경설정할때도 처음 환경설정하는 것보다, 전에 만들다가 다시 다른 버전으로 하는게 힘들다는 것을...

 

 

경로를 제대로들어가 확인해본 결과

숨김파일에 있었다. 찾느라 애먹었지만 내가 지워야할 폴더가 바로 숨김폴더있어서 상당히 까다로웠다.

 

그결과 Springframework는 문제없이 작동한다.

 

결론!!!!

 

해당하는 경로를 잘 파악하여 혹여 이전의 작업하다가 남긴 파일때문에 설치가 안되는 경우가 종종있다

이 글을 보면서 혹시나 스프링프레임워크를 새로운 환경에서 다운 받는 사람들, 위의 에러처럼 뜨는 경우

파일경로를 잘 찾아내서 문제가 없길 바란다.

Comments