[Java] 자바 클래스(.class)파일 컴파일 버전 확인하기
- Language/Java
- 2022. 4. 7.
자바를 빌드하게 되면 클래스(class) 파일이 생성됩니다. 이 클래스 파일은 같은 Java 소스여도 JDK 버전에 따라 다르게 작성될 수 있는데요. 만약 실행하는 JVM이 지원하지 못하는 java class version을 로드하려고 할 경우 java.lang.UnsupportedClassVersionError 에러가 발생할 수 있습니다. 이처럼 빌드된 클래스 파일의 버전과 실행할 JVM의 버전이 다르면 에러가 날 수 있기 때문에 서로 맞춰주시는 것이 좋습니다.
jdk의 bin폴더 안에 있는 javap를 사용하시면 버전을 확인하실 수 있습니다.
클래스 파일 버전 확인하는 방법
1. 버전을 확인하고 싶은 class 파일이 있는 경로를 복사합니다.
2. cmd(명령 프롬프트) 창을 연 뒤 cd 명령어를 사용하여 class 파일이 있는 경로로 들어갑니다.
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'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. " 오류 해결법
"javap'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다." 라는 오류가 뜬다면 자바 환경변수 설정이 제대로 되지 않아서 발생하는 문제입니다. 아래 글을 참고하여 자바 환경변수를 제대로 맞춰주시거나 버전을 확인하고자 하는 .class 파일을 jdk의 bin폴더 안으로 옮겨주신 뒤 javap 명령어를 사용하시면 문제가 해결됩니다.
[Java] 자바 환경변수 설정방법 (for Windows 10)
'Language > Java' 카테고리의 다른 글
[Java] 자바(JDK) 환경변수 설정방법 (for Windows) (9) | 2022.04.12 |
---|---|
[Java] javac 명령어를 활용하여 자바(.java) 파일 컴파일하기 (0) | 2022.04.08 |
[Java] 자바(.jar, .class 파일) 디 컴파일 하는법 (0) | 2022.03.18 |
[Java] 메모리 구조 메소드(Method), 스택(Stack), 힙(Heap) 영역에 대하여 (0) | 2022.03.12 |