Манифест файла JAR (META-INF/MANIFEST.MF) - это специальный файл, содержащий метаданные о содержимом JAR-архива.
Он используется для:
- Назначения точки входа: Указание главного класса для запуска исполняемого JAR-файла (Main-Class).
- Управления версиями: Хранение информации о версии приложения или библиотек (Implementation-Version, Specification-Version).
- Определения пути поиска классов: Указание зависимостей и каталогов для поиска классов (Class-Path).
- Цифровой подписи: Содержит информацию о подписях для проверки целостности и источника JAR (Signer-Information, Digest).
- Расширения функциональности: Использование специальных атрибутов для различных фреймворков и технологий (например, OSGi Bundle-ManifestVersion).
Структура файла:
plaintext
Стандартный атрибут Manifest-Version указывает версию спецификации манифеста. Created-By указывает версию Java среды, создавшей архив.
При сборке JAR-файла большинство инструментов (таких как Maven, Gradle, Ant) автоматически создают или обновляют этот файл. Его также можно создать или изменить вручную.