본문 바로가기
Tool/Eclipse

[Eclipse] 이클립스 JVM is not suitable for this product

by 주리니e 2023. 2. 28.
728x90

[Eclipse] 이클립스 JVM is not suitable for this product

 

 

이클립스(Eclipse) 구동 시 JVM 버전에 따라 아래와 같은 오류를 표시하며 실행이 안될 수 있다. 호환되지 않는 JVM으로 해당 이클립스의 버전은 11 또는 이상부터  실행이 가능하도록 지정되어 있기 때문이다. 이때는 Open JDK11을 설치하여 환경변수를 설정함으로써 수정할 수 있다. eclipse.ini 파일의 'Dosgi.requiredJavaVersion' 값을 아래 버전(이미 설치되어 있는 8 버전)으로 수정하여 억지로 구동할 수도 있겠지만 권고하지 않는다. 이클립스 구동은 될 수 있으나(수정해도 구동이 안될 수 있다.) 해당 이클립스 버전이 출시 될 때 필수 버전으로 지정한 이유가 존재할 것이므로 JAVA 버전을 올리는 것이 좋다.

Incompatible JVM
Version 1.8.0_231 of the JVM is not suitable for this product. Version: 11 or grater is required.

 

 

  • Java 버전 확인

CMD 창을 열어 Java 버전을 확인하자. 이클립스 구동 시 필요 버전은 11인데 8 버전으로 되어 있는 것을 확인할 수 있다.

C:\Users\user>java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

 

 

  • Open JDK 11 설치

Open JDK11이 설치되어 있지 않다면 아래 링크에서 윈도우용 Open JDK11을 다운받아 경로를 설정한 후 압축을 해제하자. 

 

Java Platform, Standard Edition 11 Reference Implementations

Java Platform, Standard Edition 11 Reference Implementations The official Reference Implementation for Java SE 11 (JSR 384) is based solely upon open-source code available from the JDK 11 Project in the OpenJDK Community. This Reference Implementation a

jdk.java.net



 

  • 환경변수 설정

 

위에서 압축해제한 Open JDK의 경로를 변수 값으로 'JAVA_HOME'을 변수 이름으로 새로운 시스템 변수를 생성한다.

 

시스템 변수 Path의 편집버튼을 눌러 '환경 변수 편집' 창을 띄운다. 새로 만들기를 눌러 %JAVA_HOME%\bin을 추가한다.

 

 

  • Java 버전 재확인

CMD 창을 열어 Java 버전을 확인하자.

C:\Users\user>java -version
java version "1.8.0_361"
Java(TM) SE Runtime Environment (build 1.8.0_361-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.361-b09, mixed mode)

 

11을 예상했지만 여전히 8이다. 시스템 환경변수를 다시 확인해보면 맨 위에서 이미 java에 대한 환경변수를 잡고 있다. 윈도우 사용중 Java 어플리케이션 실행을 위해 사전에 Java Runtime Environment가 설치되면서 설정이 되었을 것이다. 해당 환경변수를 삭제한 후 버전을 확인하면 정상적으로 11로 인식할 것이며 이클립스 구동 문제 또한 사라질 것이다.

 

 

 

  • 환경변수 꼭 설정해야할까?

환경변수를 설정하면 앞으로 Java 어플리케이션이 실행할 때 11버전으로 실행이 될 것이다. 이미 Java8 버전으로 실행되는 Java 어플리케이션이 다수 존재하여 8 버전을 default로 설정하고 싶은 경우에는 어떡할 것인가? 이런 경우 이클립스 구동 시에만 Java 버전을 11로 설정할 수 있다. 이클립스 오른쪽 버튼을 눌러 속성을 확인하면 시작 위치를 확인할 수 있으며 해당 디렉토리로 가면 eclipse.ini 파일을 찾을 수 있다.

 

이클립스 구동 시 경로(JDK 11 설치 경로)를 아래와 같이 설정해준다. 이 값은 -vmargs 위에 설정되어야 정상적으로 구동된다.

-vm
E:/java/jdk-11/bin/javaw.exe

 

728x90

댓글