Ответ
JAR (Java ARchive) — это платформо-независимый формат архивного файла на основе ZIP, используемый для агрегации множества файлов (классов, ресурсов, метаданных) в один файл для удобства распространения и использования Java-приложений и библиотек.
Содержимое JAR:
- Скомпилированные
.classфайлы. - Ресурсы: изображения, файлы конфигурации, свойства и т.д.
- Метаданные в каталоге
META-INF/:MANIFEST.MF— основной файл манифеста, содержащий информацию о JAR.
Ключевые возможности и использование:
- Библиотеки: Распространение reusable-кода (например,
commons-lang.jar). - Исполняемые приложения: JAR может быть запущен двойным кликом или командой
java -jar, если в манифесте указан атрибутMain-Class.
Пример манифеста для исполняемого JAR:
Manifest-Version: 1.0
Created-By: Java
Main-Class: com.example.MainApp
Работа с JAR через командную строку:
- Создание:
jar cvf myapp.jar -C classes/ . - Просмотр содержимого:
jar tf myapp.jar - Извлечение:
jar xvf myapp.jar - Запуск исполняемого JAR:
java -jar myapp.jar
Связанные форматы:
- WAR (Web ARchive) — для веб-приложений.
- EAR (Enterprise ARchive) — для Java EE-приложений.
JAR — фундаментальная единица упаковки и дистрибуции в экосистеме Java.