Что такое jar файл и зачем он нужен?
Вопрос такой что такое jar файл и зачем он нужен на практике. Ведь если есть файл java, есть файл class который уже переведен в байт-код, зачем тогда jar файл? Какая его функция и можно ли без него обойтись?
Отслеживать
14.2k 1 1 золотой знак 21 21 серебряный знак 31 31 бронзовый знак
задан 20 июн 2017 в 7:19
Виталий Vit Виталий Vit
179 1 1 золотой знак 1 1 серебряный знак 7 7 бронзовых знаков
А если в вашем приложении 200 классов?
20 июн 2017 в 7:20
Это аналог EXE.
23 июн 2017 в 6:09
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
JAR-файл — это Java-архив (Java ARchive). Это простой архивный файл, сжатый (иногда с нулевой компрессией) по алгоритму zip.
Он был создан для удобства распространения программ, написанных на Java. Так как обычная программа содержит сотни, тысячи, а иногда и миллионы файлов. Файл может содержать:
- файл манифеста META-INF/MANIFEST.MF
- java-файлы (исходный код)
- class-файлы
- файлы, необходимые для работы программы: картинки, файлы с настройками и прочее (ресурсы)
- электронные подписи, которые позволяют защитить программу от модификации
Манифест – это текстовый файл формата ключ: значение ; он содержит описание jar-файла. В нем могут быть следующие ключи:
- Manifest-Version – версия манифеста
- Main-Class – имя главного класса (должен содержать метод main ), такой jar-файл можно запустить как обычный исполняемый файл
- Class-Path – позволяет указать CLASSPATH , который необходим для полноценной работы программы
- SHA-Digest – контрольная сумма определенного файла внутри архива
Кроме jar, также существуют другие архивы, связанные с Java:
- WAR (Web Application aRchive) – содержит в себе приложение для веба
- EAR (Enterprise Application aRchive) – содержит в себе энтерпрайз приложение (обычно из нескольких модулей)
- APK (Android aPplication pacKage) – содержит в себе приложение для Android
Можно ли обойтись без?
В принципе, можно, все что вам необходимо – это всегда точно копировать структуру вашего приложения. То есть все класс-файлы и файлы с ресурсами должны располагаться в правильных директориях. Переменная CLASSPATH должна содержать пути ко всем зависимостям. Если эти условия соблюдены, то ваше приложение будет работать без упаковки в jar.
P.S. В переводе с английского, jar – означает банка, стеклянный или керамический цилиндрический контейнер с широким горлом, предназначенный для хранения еды (обычно). Кофе часто хранят в банках, так что тут игра слов: банка с кофе – банка с java-классами.
Файл формата JAR — что это?
Файл JAR представляет из себя архив Java, являющийся видом обычного ZIP-архива, содержащего определенную часть данных с элементами языка программирования Java. Для того, чтобы реализовать JAR файл в качестве исполняемого, он должен содержать файл MANIFEST.MF, помещенный в каталог META-INF, где будет указан главный программный класс. Данный класс должен хранить метод main.
Посмотреть содержимое Java Archive можно при помощи различных архиваторов, поддерживающих ZIP-технологию сжатия. Достаточно часто, формат JAR несет в себе разнообразные игры, программы и приложения для мобильных устройств, открыть файл возможно и на пользовательском компьютере, однако для этого потребуется наличие эмулятора приложений Java, к примеру MidpX. Стоит отметить, что возможна и конвертация формата JAR в расширение файла EXE при помощи утилиты JAR2EXE Converter.
Файл .jar может содержать определенные дополнения, а также темы для Mozilla Firefox, Thunderbird, SeaMonkey и Sunbird. Стоит отметить, что .jar файл можно встретить вместе с файлом JAD с идентичным именем, такой формат файла будет хранить всю необходимую информацию, которая применяется при установке того или иного приложения.
Открыть JAR в системе Windows, можно при помощи Java Runtime Environment. Среди распространенных архиваторов, способных открыть файл JAR, выделяют WinRAR, а также PowerArchiver и Corel WinZip. Запускают JAR формат и веб-браузеры, главным условием для корректной работы, является поддержка Java. Файл расширением JAR пользуется особой популярностью среди программистов, пишущих мини-программы на языке Java.
Программы для работы с JAR в Windows
Java Development Kit (JDK)
Oracle Java Runtime Environment
Mac
Corel WinZip Mac
Oracle Java Runtime Environment
Android
File Viewer for Android
Linux
Eclipse for Linux
Решение проблем с файлами JAR
Наиболее распространенная проблема – файл не открывается. Мы подготовили набор программ, с помощью которых вы гарантированно сможете открыть нужный файл в вашей операционной системе.
Иногда просто открыть файл – недостаточно. Если вам нужно его отредактировать – скачайте одну из бесплатных программ:
Если вам необходимо создать файл “с нуля” воспользуйтесь одной из программ с нужным функционалом. Вы найдете несколько вариантов программ для различных платформ по ссылке ниже.
Видео форматы
Аудио форматы
Электронные книги
Текстовые форматы
Дисковые образы
Табличные данные
Растровые изображения
Векторные изображения
Резервное копирование
Raw
Сжатые файлы
Файлы данных
Базы
3D Изображения
CAD файлы
Файлы разработчиков
Зашифрованные файлы
Исполняемые форматы
Шрифты
Файлы игр
GIS, карты
Другие расширения
Форматы макетов
Форматы плагинов
Файлы настроек
Системные файлы
Веб форматы
JAR-файлы в Windows – как открывать, редактировать и конвертировать
Файл с расширением .JAR представляет собой файл Java Archive, используемый для хранения Java программ и игр в одном файле. Некоторые содержат файлы, которые заставляют их работать как отдельные приложения, а другие содержат библиотеки программ для использования другими программами.
JAR-файлы сжаты в ZIP и часто хранят такие вещи, как файлы CLASS, файлы манифеста и ресурсы приложения, такие как изображения, звуковые клипы и сертификаты безопасности. Так как они могут хранить сотни или даже тысячи файлов в сжатом формате, файлами JAR легко обмениваться и перемещать.
Мобильные устройства с поддержкой Java могут использовать файлы JAR в качестве файлов игры, а некоторые веб-браузеры содержат темы и надстройки в формате JAR.
Как открыть файлы JAR
Java Runtime Environment (JRE) должен быть установлен для того, чтобы открыть исполняемый JAR-файл, но обратите внимание, что не все JAR-файлы имеют формат исполняемого файла. После установки вы можете просто дважды щелкнуть файл JAR, чтобы открыть его.
Некоторые мобильные устройства имеют встроенную JRE. После установки приложения Java также можно открывать в веб-браузере, например Firefox, Safari, Edge или Internet Explorer (но не в Chrome).
Поскольку JAR-файлы сжимаются с помощью ZIP, любой распаковщик файлов может открыть его, чтобы отобразить содержимое, которое находится внутри. Это включает в себя такие программы, как 7-Zip, PeaZip и jZip.
Другой способ открыть файлы JAR – использовать следующую команду в командной строке, заменив yourfile.jar именем вашего собственного файла JAR:
java -jar yourfile.jar
Ошибки открытия файлов JAR
Из-за настроек безопасности в операционной системе Windows и в некоторых веб-браузерах весьма часто можно увидеть ошибки при попытке доступа к приложениям Java.
Например, «Java Application Blocked» может отображаться при попытке загрузки Java-апплета. Это можно исправить, установив уровень безопасности в апплете панели управления Java.
Если вы не можете открыть апплеты Java даже после установки JRE, сначала убедитесь, что Java включена в вашем браузере и что панель управления правильно настроена для использования Java. Затем полностью перезапустите браузер, закрыв все открытые окна, а затем снова откройте программу.
Также убедитесь, что вы используете последнюю версию Java. Если нет, вернитесь к ссылке JRE выше и установите последнюю версию.
Как конвертировать файл JAR
Вы можете декомпилировать файлы CLASS JAR-файла в файлы Java с помощью веб-сайта JavaDecompilers.com. Загрузите туда свой JAR-файл и выберите, какой декомпилятор использовать.
Преобразование приложения Java для использования на платформе Android потребует преобразования файла JAR в APK. Одним из вариантов может быть запуск файла JAR в эмуляторе Android, чтобы программа автоматически создала файл APK. Однако, самый простой способ получить Java-программу на Android – просто скомпилировать APK из исходного исходного кода.
Файлы WAR также являются файлами Java Web Archive, но вы не можете преобразовать файл JAR напрямую в файл WAR, поскольку формат WAR имеет особую структуру, которой нет в JAR. Вместо этого вы можете создать WAR-файл и затем добавить JAR-файл в каталог lib, чтобы классы в JAR-файле были доступны для использования. WizToWar может помочь вам сделать это.
Создать ZIP-файл из JAR-файла так же просто, как переименовать расширение файла из .JAR в .ZIP. Это, на самом деле, не выполняет преобразование файлов, но позволяет программам, использующим ZIP-файлы, таким как 7-Zip или PeaZip, легче открывать файл JAR.
Дополнительная информация о формате JAR
Если вам нужна помощь в упаковке программ в файлы JAR, перейдите по этой ссылке для получения инструкций на веб-сайте Oracle.
Только один файл манифеста может быть включен в архив JAR, и он должен находиться в расположении META-INF/MANIFEST.MF. Он должен следовать синтаксису имени и значения, разделенных двоеточием, как Manifest-Version:1.0. Этот файл MF может указывать классы, которые должно загружать приложение.
Разработчики Java могут подписывать свои приложения цифровой подписью, но это не подписывает сам файл JAR. Вместо этого файлы внутри архива перечислены с их подписанными контрольными суммами.
При подготовке материала использовались источники:
https://ru.stackoverflow.com/questions/681377/%D0%A7%D1%82%D0%BE-%D1%82%D0%B0%D0%BA%D0%BE%D0%B5-jar-%D1%84%D0%B0%D0%B9%D0%BB-%D0%B8-%D0%B7%D0%B0%D1%87%D0%B5%D0%BC-%D0%BE%D0%BD-%D0%BD%D1%83%D0%B6%D0%B5%D0%BD
https://filesreview.com/ru/info/jar
https://webznam.ru/blog/jar_fajly_v_windows/2019-12-10-1357