Ответ
JAR-манифест — это специальный файл MANIFEST.MF, расположенный в папке META-INF/ JAR-архива. Он содержит метаданные о содержимом архива, необходимые для его корректной обработки JVM и инструментами сборки.
Основное назначение:
- Точка входа: Атрибут
Main-Classуказывает класс с методомmain()для запуска исполняемого JAR. - Зависимости: Атрибут
Class-Pathперечисляет относительные пути к другим библиотекам (JAR-файлам), от которых зависит приложение. - Версионирование: Содержит информацию о версии JAR-файла, версии спецификации и данные о создателе.
Пример содержимого META-INF/MANIFEST.MF:
Manifest-Version: 1.0
Created-By: 17.0.1 (Oracle Corporation)
Main-Class: com.example.Main
Class-Path: lib/dependency1.jar lib/dependency2.jar
Как работать с манифестом:
- Чтение: Используйте класс
java.util.jar.Manifest. - Создание: Манифест обычно генерируется автоматически инструментами сборки (Maven, Gradle). Для ручного создания можно использовать ключ
-mутилитыjarили APIjava.util.jar.JarOutputStream.