Гид по технологиям

Как просмотреть и извлечь содержимое JAR-файла

4 min read Разработка Обновлено 19 Dec 2025
Как просмотреть и извлечь содержимое JAR-файла
Как просмотреть и извлечь содержимое JAR-файла

Крупный план открытого ящика картотеки с множеством отдельных карточек

Зачем исследовать содержимое JAR-файла?

Иногда нужно убедиться, что в JAR находится именно то, что вы собираетесь отправить, обновить или развернуть. Просмотр содержимого помогает:

  • проверить наличие нужных классов и ресурсов;
  • убедиться в корректной структуре путей (пакетов);
  • найти и изучить файл META-INF/MANIFEST.MF;
  • быстро извлечь отдельные файлы без полного распаковывания.

Важно: не запускайте или не подключайте неизвестные JAR-файлы в рабочую среду до проверки.

Краткая терминология

  • JAR: Java ARchive — файл-архив формата ZIP, обычно с расширением .jar.
  • MANIFEST.MF: метаинформация пакета, находится в META-INF/MANIFEST.MF.

Просмотр содержимого JAR-файла (командная строка)

Самый прямой способ — воспользоваться утилитой jar, входящей в состав JDK. Примеры:

jar tf YourJarFile.jar
  • t — вывести «содержание» (table of contents);
  • f — указать, что следующий аргумент — имя файла;
  • опции можно указывать в любом порядке, но без пробелов между ними: tf, tfv и т. п.

Для подробного (verbose) вывода, включающего дату и размер файлов, добавьте v:

jar tfv YourJarFile.jar

Если JAR не в текущей директории, укажите путь:

jar tf /путь/к/YourJarFile.jar

Примечание: jar читает JAR как ZIP-архив. В некоторых системах можно использовать команду unzip -l для просмотра списка:

unzip -l YourJarFile.jar

Извлечение содержимого JAR-файла

Чтобы распаковать весь JAR в текущую папку:

jar xf YourJarFile.jar

Опция x указывает на извлечение. Команда создаст структуру директорий, соответствующую путям внутри архива.

Чтобы извлечь конкретные файлы, перечислите их после имени архива:

jar xf YourJarFile.jar login.html payment.html

Команда извлечёт только указанные файлы, если они есть в архиве.

Графические инструменты (GUI)

Если предпочитаете интерфейс, используйте архиваторы, которые поддерживают формат ZIP/JAR: 7-Zip, WinRAR, PeaZip на Windows; Keka или Archive Utility на macOS; File Roller или Ark на Linux. Откройте JAR как обычный архив, просмотрите и при необходимости извлеките нужные файлы.

Важно: GUI-инструменты полезны для разовой проверки и быстрого извлечения, но для скриптов и автоматизации предпочтительнее утилиты командной строки.

Что искать внутри JAR — чеклист

  • META-INF/MANIFEST.MF — проверьте Main-Class и другие свойства;
  • папки с пакетами классов (com/yourcompany/…);
  • ресурсы: .properties, .xml, *.html, изображения;
  • подписи в META-INF/.SF и META-INF/.RSA — если JAR подписан;
  • наличие лишних исполняемых скриптов или бинарников.

Роль-based чеклист:

  • Разработчик: убедиться, что собранные классы и ресурсы присутствуют.
  • DevOps: проверить конфигурационные файлы и пути, подготовить для деплоя.
  • Аудитор/безопасник: проверить подписи и отсутствие подозрительного исполняемого кода.

Когда просмотр или извлечение может не сработать

  • архив повреждён — команды jar/unzip выдадут ошибку;
  • файл зашифрован или содержит нестандартный контейнер — понадобится специальный инструмент;
  • файлы внутри обфусцированы — просмотр структуры не даст семантики кода;
  • отсутствие прав чтения на файл или на папку назначения при извлечении.

Альтернативные подходы

  • unzip -l / unzip -p для просмотра/вывода отдельных файлов;
  • jar tf в сочетании с grep для фильтрации по маске (Linux/macOS):
jar tf YourJarFile.jar | grep "META-INF"
  • Использовать Java-код для чтения архива (java.util.jar.JarFile) если нужно интегрировать проверку в приложение.

Безопасность и приватность

  • Не выполняйте классы из неподтверждённых JAR.
  • Проверяйте подписи и сертификаты в META-INF, если JAR должен быть подписан.
  • При передаче по сети шифруйте канал (TLS) и проверяйте контрольные суммы.

Шпаргалка команд

# Просмотр списка
jar tf file.jar
jar tfv file.jar  # подробный вывод

# Извлечение
jar xf file.jar
jar xf file.jar path/inside.jar/file.txt  # извлечь конкретный файл

# Просмотр с помощью unzip
unzip -l file.jar
unzip -p file.jar META-INF/MANIFEST.MF  # вывести содержимое MANIFEST.MF в stdout

Мини-методика проверки перед отправкой JAR по сети

  1. Просмотрите список файлов: jar tf.
  2. Проверьте MANIFEST.MF: unzip -p file.jar META-INF/MANIFEST.MF.
  3. Убедитесь в отсутствии секретных данных (паролей, приватных ключей).
  4. Проверяйте подпись, если требуется.
  5. Сгенерируйте контрольную сумму (sha256) для передачи.

Критерии приёмки

  • Все ожидаемые файлы присутствуют по путям, соответствующим исходной сборке.
  • MANIFEST.MF содержит правильную Main-Class и версии, если это требуется.
  • Распаковка без ошибок и с восстановлением структуры директорий.

Тестовые случаи

  • Открыть корректный JAR и сравнить список с ожидаемым.
  • Попытка извлечь несуществующий файл — утилита должна вернуть ненулевой код выхода или сообщение об ошибке.
  • Проверка работы с подписанным JAR (наличие META-INF/*.RSA).

Совместимость и миграция

  • JAR-файлы совместимы между платформами — это просто ZIP-архив с Java-спецификой.
  • Для автоматизации используйте утилиты JDK в CI-пайплайнах.

Когда стоит использовать GUI, а когда CLI

  • GUI удобно для быстрых ручных проверок и извлечения отдельных файлов.
  • CLI лучше для автоматизации, скриптов и проверки большого числа артефактов.

Краткое резюме

Просмотр и извлечение JAR-файлов просты: используйте jar tf для списка и jar xf для извлечения. Если нужен подробный вывод — добавьте v. Для автоматизации применяйте CLI; для разовых ручных операций — GUI-архиваторы. Всегда проверяйте MANIFEST.MF и подписи перед распространением или развертыванием.

Важно: при работе с неизвестными JAR-файлами соблюдайте меры безопасности и не подключайте их без проверки.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Ссылки в macOS: алиасы, символьные и жесткие
macOS

Ссылки в macOS: алиасы, символьные и жесткие

Установить Windows 8 в VHD без переразметки
Windows

Установить Windows 8 в VHD без переразметки

Dream Address в Animal Crossing: как пользоваться
Игры

Dream Address в Animal Crossing: как пользоваться

Как продавать электронные книги — пошагово
Издательство

Как продавать электронные книги — пошагово

Восстановить несохранённый документ Word
Microsoft Word

Восстановить несохранённый документ Word

Parallels Desktop Lite: запуск VM на Mac бесплатно
Виртуализация

Parallels Desktop Lite: запуск VM на Mac бесплатно