Re: Jar-файл и java.exe
От: Worminator X Россия #StandWithPalestine 🖤🤍💚
Дата: 06.07.24 03:54
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Можно ли как-то по содержимому jar-файла определить, с какой версией JDK он работает?


В корректном JAR файле версия JDK должна определяться в файле манифеста META-INF/MANIFEST.MF, параметр Build-Jdk-Spec.

Если он отсутствует — распаковать архив и вызывать javap -verbose для .class файла, он покажет, на какой версии JDK собиралось. Либо в HEX просмотрщике открыть .class файл, после сигнатуры CAFEBABE по смещению 4 расположена minor версия, а потом по смещению 6 — major версия (оба поля 2 байта в Big Endian).
JDK Major version Major version (HEX)
1.1 45 2D
1.2 46 2E
1.3 47 2F
1.4 48 30
5.0 49 31
6.0 50 32
7 51 33
8 52 34
9 53 35
10 54 36
11 55 37
12 56 38
13 57 39
14 58 3A
15 59 3B
16 60 3C
17 61 3D
18 62 3E
19 63 3F
20 64 40
21 65 41
22 66 42
23 67 43
24 68 44
— Нет в мире справедливости, — простонал Билл, когда цепкие пальцы Смертвича впились в его плечо.
— Конечно, нет, — согласился Смертвич. — А ты как думал?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.