[Java] 자바 클래스(.class)파일 컴파일 버전 확인하기

자바를 빌드하게 되면 클래스(class) 파일이 생성됩니다. 이 클래스 파일은 같은 Java 소스여도 JDK 버전에 따라 다르게 작성될 수 있는데요. 만약 실행하는 JVM이 지원하지 못하는 java class version을 로드하려고 할 경우 java.lang.UnsupportedClassVersionError 에러가 발생할 수 있습니다. 이처럼 빌드된 클래스 파일의 버전과 실행할 JVM의 버전이 다르면 에러가 날 수 있기 때문에 서로 맞춰주시는 것이 좋습니다.

 

javap

jdk의 bin폴더 안에 있는 javap를 사용하시면 버전을 확인하실 수 있습니다. 

 

클래스 파일 버전 확인하는 방법

경로 복사

1. 버전을 확인하고 싶은 class 파일이 있는 경로를 복사합니다.

 

class 파일 경로로 이동

2. cmd(명령 프롬프트) 창을 연 뒤 cd 명령어를 사용하여 class 파일이 있는 경로로 들어갑니다.

 

java 버전 확인

3. 명령 프롬프트에서 javap -verbose 클래스명.class | find "version"이라는 명령어를 입력해주시면 minor version과 major version이 출력됩니다.

 

순서 자바 버전 major version
1 자바2 (1.2) 46
2 자바3 (1.3) 47
3 자바4 (1.4) 48
4 자바5 49
5 자바6 50
6 자바7 51
7 자바8 52
8 자바9 53
9 자바10 54
10 자바11 55
11 자바12 56
12 자바13 57
13 자바14 58
14 자바15 59
15 자바16 60
16 자바17 61
17 자바18 62

4. 위의 표에서 major version을 확인하고 컴파일 된 자바 버전을 확인하시면 됩니다. 위의 클래스 파일은 자바 18에서 컴파일되었네요. 참고로 버전이 올라가면 옆의 숫자가 1씩 증가됩니다.

 

"javap'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. " 오류 해결법

bin 폴더 복사

"javap'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 오류가 뜬다면 자바 환경변수 설정이 제대로 되지 않아서 발생하는 문제입니다. 아래 글을 참고하여 자바 환경변수를 제대로 맞춰주시거나 버전을 확인하고자 하는 .class 파일을 jdk의 bin폴더 안으로 옮겨주신 뒤 javap 명령어를 사용하시면 문제가 해결됩니다.

 

[Java] 자바 환경변수 설정방법 (for Windows 10)

 

댓글

Designed by JB FACTORY