META-INF/MANIFEST.MF
. Это манифест архива – хранилище его метаинформации. Манифест обычно добавляется той же утилитой, которой собирается jar-файл: maven-jar-plugin
, команда JDK jar
.Манифест – текстовый файл, который состоит из заголовков, строчек вида
ключ: значение
. Заголовки разделены на секции. Файл начинается с главной секции, описывающей метаинформацию всего архива. Следом, отделенные пустыми строками, идут секции для отдельных пакетов и файлов. В них могут переопределяться общие заголовки. JVM игнорирует неизвестные ей заголовки, что позволяет сторонним утилитам хранить в манифесте свою специфичную метаинформацию.Вот некоторые из часто используемых заголовков:
- Информация об архиве: Manifest-Version, Created-By, Multi-Release, Built-By
- Main-class – точка входа приложения
- Classpath приложения
- Информация об экстеншне (Specification и Implementation, deprecated)
- Заголовки OSGI бандла
- Типы и хэши файлов архива (особенно применимо в Android приложениях)
Полный список стандартных заголовков можно почитать в документации.