Widziałem tę listę głównych numerów wersji Java w innym poście:
- Java 1.2 korzysta z wersji głównej 46
- Java 1.3 korzysta z wersji głównej 47
- Java 1.4 używa głównej wersji 48
- Java 5 korzysta z wersji głównej 49
- Java 6 używa głównej wersji 50
- Java 7 korzysta z wersji głównej 51
- Java 8 korzysta z wersji głównej 52
- Java 9 korzysta z wersji głównej 53
- Java 10 korzysta z wersji głównej 54
- Java 11 korzysta z wersji głównej 55
- Java 12 używa głównej wersji 56
- Java 13 używa głównej wersji 57
- Java 14 używa wersji głównej 58
Bibliografia:
https://blogs.oracle.com/darcy/entry/source_target_class_file_version https://en.wikipedia.org/wiki/Java_class_file#General_layout
javap -verbose MyClass
,?Znalazłem listę wersji plików klas Java na stronie Wikipedii, która opisuje format pliku klas:
http://en.wikipedia.org/wiki/Java_class_file#General_layout
Pod przesunięciem bajtów 6 i 7, wersje są wymienione, z którymi maszynami wirtualnymi Java odpowiadają.
źródło
Jeśli masz jakiś problem z „błędnym kompilatorem pliku klasy”, możesz go rozwiązać, zmieniając środowisko JRE projektu na odpowiadające mu za pomocą Eclipse.
Zrobiłem to i zadziałało.
źródło
Jeśli masz plik klasy pod adresem
build/com/foo/Hello.class
, możesz sprawdzić, w jakiej wersji java jest kompilowany za pomocą polecenia:Przykładowe użycie:
Zgodnie z tabelą w OP, wersja główna 57 oznacza, że plik klasy został skompilowany do poziomu kodu bajtowego JDK 13
źródło