반응형

eclipse에서 간단한 계산기 프로그램을 jar 파일로 만들고 해당 파일이 있는 경로에 cmd를 키고 jar파일을 실행했더니 java.lang.UnsupportedClassVersionError 오류가 떴다. 직역해보면 '지원하지 않는 클래스 버전 오류'란다.

이 오류를 자세히 살펴봤다.

spring_chapter02_homework/MainClass has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 52.0...

내 예상에 해당 jar 파일을 만들 때 eclipse project 내부의 Java Runtime 버전과 윈도우의 환경변수에서 설정한 Java Runtime 환경이 달라서 생긴 오류라고 직감했다.

혹시나 해서 java -version 명령어를 쳤다.

아니나 다를까 Java Runtime Environment가 1.8로 되어 있었다. 프로젝트 내부의 jre를 확인해보니 역시나 달랐다.

버전명 없이 그냥 'jre'로 돼있다.

그래서 eclipse에서 jre를 1.8버전으로 바꿨다. jre를 바꾸는 방법은 간단하다. (사실 엄밀히 말하면 호환될 수 있는 jre를 설정하는 것이다.)

첫째, 해당 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Build Path의 Configure Build Path를 클릭한다.

둘째, Java Build Path 창으로 들어가면 가운데 Libraries 탭을 클릭한다. 그럼 해당 프로젝트 내의 jre를 볼 수 있다.

 

셋째, 우측에 Edit를 클릭한다. 그럼 Edit Library 창이 뜬다. System library 옵션 박스에서 'Execution evironment'를 선택하고 우측에 콤보박스의 화살표를 클릭한다.

 

넷째, 그럼 여러 jre가 보일 것이다. 여기서 아까 cmd 창에서 봤던 'Java(TM) SE Runtime Environment (build 1.8.0_321-b07)'를 생각해보면 무엇을 선택해야 할 지 바로 알 수 있을 것이다. 그렇다. 바로 JavaSE-1.8이다.

다섯째, JavaSE-1.8를 선택하면 Finish를 클릭하고 Apply and Close를 클릭하자. 이것으로 마무리됐다.

여섯째, 그 다음으로 jar 파일을 다시 만들어줘야 한다.

바뀐 jre를 확인할 수 있다.

 

그럼 다시 cmd로 돌아가 새로운 jar 파일을 실행했더니 아주 잘된다.

 

jre에 대한 개념을 알고 싶으면 아래 페이지를 참고하자.

https://www.ibm.com/kr-ko/topics/jre

 

JRE(Java Runtime Environment)란? | IBM

JRE(Java Runtime Environment)는 컴퓨터의 운영체제 소프트웨어의 상에서 실행되며, 특정 Java 프로그램이 실행해야 하는 리소스를 제공합니다.

www.ibm.com

 

반응형

+ Recent posts