Что хранится в файле манифеста?



В JAR архиве можно найти файл 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 приложениях)



Полный список стандартных заголовков можно почитать в документации.



#JVM



@javatg