포스트

컴파일된 코드로부터 java 버전 확인하기

javap -verbose로 클래스 파일의 major version을 확인하고, Java 1.1부터 25까지 major 번호와 Java 버전 대응표를 정리한다.

컴파일된 코드로부터 java 버전 확인하기

정상적으로 컴파일 된 클래스 파일이 다른 환경에서 정상적으로 실행되지 않을 때가 종종 있다.
(ex> Unsupported major.minor version 52.0 등의 에러)
이럴 때, javap 명령어를 사용하여 클래스 파일의 컴파일 버전을 확인 할 수 있다.

javap 명령어

  • javap 명령어는 클래스 파일의 바이트 코드를 역어셈블링하여 보여주는 명령어.
  • javap 명령어를 사용하여 클래스 파일의 컴파일 버전을 확인할 수 있다.
1
2
3
$ javap -verbose YourClassName.class | grep "major version"  # windows의 경우 grep 대신 findstr 사용

> major version: 52

Major vs Java 버전 대응표

Major 버전Java 버전
45Java 1.1
46Java 1.2
47Java 1.3
48Java 1.4
49Java 5
50Java 6
51Java 7
52Java 8
53Java 9
54Java 10
55Java 11
56Java 12
57Java 13
58Java 14
59Java 15
60Java 16
61Java 17
62Java 18
63Java 19
64Java 20
65Java 21
66Java 22
67Java 23
68Java 24
69Java 25

major 번호는 44 + 자바 피처 버전으로 계산된다 (Java 8 → 44+8 = 52). LTS는 8·11·17·21·25이며, Java 9 이후로는 52.0 같은 minor 번호는 항상 0이다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.