개발관련/오류노트

자바 java.lang.UnsupportedClassVersionError: Unsupported major.minor version 오류

Rateye 2021. 11. 22. 10:50
728x90
반응형
질문 : java.lang.UnsupportedClassVersionError 수정 방법 : 지원되지 않는 major.minor 버전

All-in-One 도구 편집, 실행, 컴파일 등으로 Notepad ++ 를 사용하려고합니다.

JRE가 설치되어 있고 경로 변수를 .../bin 디렉토리에 설정했습니다.

메모장에서 "Hello world"를 실행하면 다음 메시지가 표시됩니다.

java.lang.UnsupportedClassVersionError: test_hello_world :
 Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
       .........................................

여기서 문제는 버전에 관한 것 같습니다. 일부 Java 버전은 오래되었거나 너무 새 버전 일 수 있습니다.

답변

표시된 버전 번호는 클래스 파일이 호환되는 JRE 버전을 설명합니다.

보고 된 주요 번호는 다음과 같습니다.

Java SE 17 = 61,
Java SE 16 = 60, 
Java SE 15 = 59,
Java SE 14 = 58,
Java SE 13 = 57,
Java SE 12 = 56,
Java SE 11 = 55,
Java SE 10 = 54,
Java SE 9 = 53,
Java SE 8 = 52,
Java SE 7 = 51,
Java SE 6.0 = 50,
Java SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45

(출처 : Wikipedia )

실제 문제를 해결하려면 최신 버전의 Java JRE로 Java 코드를 실행하거나 Java 컴파일러에 대상 매개 변수를 지정하여 컴파일러가 이전 Java 버전과 호환되는 코드를 작성하도록 지시해야합니다.

예를 들어 Java 1.4와 호환되는 클래스 파일을 생성하려면 다음 명령 줄을 사용하십시오.

javac -target 1.4 HelloWorld.java
                

최신 버전의 Java 컴파일러에서는 부트 스트랩 클래스 경로가 설정되지 않았다는 경고가 표시 될 수 있습니다. 이 오류에 대한 자세한 내용은 블로그 게시물에서 bootclasspath없이 이전 소스를 설정하기위한 새로운 javac 경고를 참조하십시오 .

출처 : https://stackoverflow.com/questions/10382929/how-to-fix-java-lang-unsupportedclassversionerror-unsupported-major-minor-versi
728x90
반응형