Last mod: 2024.12.15

Java - Class File Version vs JDK Version

Using multiple libraries we can get an UnsupportedClassVersionError. However, stack trace does not return the JDK version in which the problematic class was compiled, but the numeric value "major.minor version", the so-called Class File Version.
Using the table below we can check what JDK version was used for compilation:

Class File Version/major.minor version JDK Version
45.0 1.0
45.3 1.1
46.0 1.2
47.0 1.3
48.0 1.4
49.0 5
50.0 6
51.0 7
52.0 8
53.0 9
54.0 10
55.0 11
56.0 12
57.0 13
58.0 14
59.0 15
60.0 16
61.0 17
62.0 18
63.0 19
64.0 20
65.0 21
66.0 22
67.0 23
68.0 24
69.0 25