Ответ
JAR (Java Archive) — это ZIP-архив, содержащий скомпилированные байт-код, ресурсы и метаданные.
Основные компоненты:
- Скомпилированные
.class-файлы — байт-код, готовый для выполнения JVM. - Ресурсы — файлы конфигурации, изображения, свойства и т.д.
- Метаданные — каталог
META-INF/, содержащий файл манифеста (MANIFEST.MF).
Типичная структура:
myapp.jar
├── META-INF/
│ └── MANIFEST.MF
├── com/
│ └── example/
│ ├── Main.class
│ └── utils/
│ └── Helper.class
└── application.properties
Создание JAR:
- Компиляция исходного кода:
javac com/example/*.java. - Упаковка в архив с помощью утилиты
jar:jar cvf myapp.jar com/example/*.class META-INF/MANIFEST.MFИли автоматически через системы сборки (Maven/Gradle).
Манифест (MANIFEST.MF) определяет метаинформацию, например, главный класс для исполняемого JAR:
Manifest-Version: 1.0
Main-Class: com.example.Main