Что за расширение jar. Как открыть файл jar? Как запустить файл на linux
Файл формата JAR открывается специальными программами. Чтобы открыть данный формат, скачайте одну из предложенных программ.
Чем открыть файл в формате JAR
JAR (от англ. Java ARchive) - это ZIP-архив, содержащий программы на языке Java. Формат JAR входит в категорию файловых архивов и активно используются популярными браузерами для хранения дополнений и тем.
JAR-файлы могут быть открыты на платформах Windows, Mac OS X, Linux, Android.
Java-архив был разработан в 1995 году компаниями Sun Microsystems и Oracle. Традиционно, в качестве иконки JAR используется изображение чашки кофе. Некоторые IDE(интегрированная среда разработки) применяют изображение стеклянной банки.
Для мобильных систем
В мобильных системах также используется JAR-файл. Однако он содержит в своей структуре метаданные и является исполняемым.
Специального ПО для запуска такого файла на устройстве не нужно. Мобильные JAR-файлы являются установщиками приложений и запускаются автоматически.
Программы для открытия jar
Расширение может быть открыто JAVA-программами. Также, поскольку JAR-файл является архивом, для его открытия и распаковки подходят любые архиваторы.
- Windows (все версии):
- Oracle Java Runtime Environment
- Eclipse
- 7-Zip
- WinRAR
- IZArc
- WinZIP
- ZipZag
- Java Development Kit
- Linux:
- Eclipse
- Java Runtime Environment
- Mac OS X:
- Apple Jar Launcher
- WinZip Mac
- Java Runtime Environment
- Android:
- File Viewer
Конвертация
JAR-файлы можно конвертировать как онлайн, на специальных сайтах-конвертерах, так и при помощи программ. К наиболее популярному ПО для конвертации относятся:
- JAR/JAD to APK Online Converter:
APK - Eclipse for Linux:
JAD - 7-zip:
ZIP - Java Development Kit:
JAD
Файл Java Archive (JAR), используемый Java Runtime Environment (JRE) — оболочкой, применяемой для выполнения программ Java. Может содержать файлы расширения , ресурсы приложения и дополнительный файл декларации (META-INF/MANIFEST). Может служить библиотекой программы или отдельной программой, которая запускается, если на компьютере установлена JRE.
Файлы Java Archive сжимаются при помощи компрессии и могут дополнительно подписываться с помощью инструмента jarsigner, входящего в состав Java SDK. Файлы JAR можно создавать при помощи инструмента jar, доступ к ним можно получить при помощи java.util.jar API от Java.
С помощью jar файлов осуществляется архивирование и распаковка. Одной из важных их особенностей является способность к сжатию, исключающая потери. Формат.jar обеспечивает эффективную сортировку и отправку документов. Прежде чем узнать, как открыть файл jar на компьютере, необходимо выполнить его установку и активацию, чтобы он стал исполняемым.
Своим именем jar формат обязан Java ARchive, от которого он происходит. Основным назначением его является разработка и распространение дополнений, предназначенных для программ, созданных компанией Mozilla.
Как открыть файл jar на компьютере?
Открыть файл jar на компьютере можно легко и быстро, щелкнув два раза по нему мышью, после чего произойдет выбор системой Windows необходимой программы, позволяющей справиться с задачей.
Если вышеназванное действие не увенчалось успехом и не привело к открытию jar файла, причиной является отсутствие на компьютере необходимой прикладной программы, редактирующей документы с таким расширением.
В случае открытия файла jar в неверной программе требуется изменение настроек. Для этого необходимо, чтобы документ содержал файл MANIFEST.MF в каталоге META-INF с указанием главного класса программы, включающий метод main.
Для просмотра содержимого jar архива можно использовать любой архиватор со сжатием ZIP. Запуск такого файла можно осуществить, используя эмулятор Java-приложений MidpX. Еще один способ – метод его конвертирования в формат.EXE программой JAR2EXE Converter.
Возможности приложений
Перед тем, как приступать к использованию jar файла, необходимо выполнить его открытие, используя совместимое приложение, которое можно выбрать из следующего списка:
- Firefox
- Thunderbird
- SeaMonkey
- Sunbird
Широкое применение находят на практике дополнения, предназначенные для работы с браузером Firefox. Они обеспечивают значительное расширение функциональных возможностей браузера и его настройку с учетом личных потребностей, которые определяет для себя каждый пользователь.
Например, с помощью дополнений можно:
- производить закачку видео, представленных на популярных видеохостингах
- удалять рекламные материалы с веб-страниц
- осуществлять управление работой браузера, используя жесты и т.д.
Приложение-календарь Mozilla Sunbird может расширять свои возможности при использовании дополнений. Это приложение предназначено для составления расписания дня и создания задач, назначением которых является оповещение в специально установленное время.
Thunderbird – это отличный помощник, обеспечивающий просмотр почтовых уведомлений, создание новых писем, фильтрование спама, обратное отправление почты и др. Дополнения способствуют лучшей совместимости Thunderbird с инструментами от Microsoft, обеспечивают более удобную работу с контактами, подписями для писем и др.
Зная полезную информацию, можно приступать к работе с jar файлом на компьютере.
Файл JAR
— приложение или игра для старых мобильных телефонов поддерживающие Java, а так же файлы Jar используются в браузере Mozilla Firefox, в качестве тем оформления и дополнений.
Формат JAR знаком тем, кто пользуется java для работы или развлечений. В состав этого расширения входят разные классы файлов java. Также в составе имеются другие ресурсы, которые связаны с программами и приложениями. Они могут представлять собой изображения, тексты или что-то другое.
Благодаря сохранению рабочих файлов в формате JAR ощутимо упрощается распределение таких ресурсов по платформе java. Например, на персональных компьютерах, где есть JRE, работа таких файлов осуществляется в режиме независимых программ. Заметим, что кроме этого они могут использоваться в качестве библиотек приложений. В этих файлах сохраняются данные после выхода из игры. Браузер Mozilla Firefox использует файлы JAR, чтобы сохранять темы и аддоны.
Что нужно знать о файлах JAR?
На создание формата JAR разработчиков натолкнуло расширение ZIP. Файлы с таким форматом создаются разными способами, например, они могут быть сделаны с помощью специальных инструментов и команд jar. Полученный архив может иметь цифровую подпись для большей надежности. Она создается с помощью инструментов jarsign. Файлы с таким расширением очень востребованы у пользователей и нашли широкое применение.
Формат JAR многим пользователям знаком не понаслышке. Он представляет собой файл архива, созданного на основе языка программирования JAVA. Однако даже юзеры, встречавшие в работе формат JAR, чем открыть его, знают не всегда. Попробуем восполнить этот пробел.
Файл в формате JAR: чем открыть?
Поскольку файлы этого типа изначально создаются при помощи языка JAVA, самым логичным предположением по просмотру или редактированию содержимого станет использование соответствующей платформы.
Но не путайте этот формат с файлами для мобильных систем. Для того чтобы JAR-файл стал исполняемым, в своей структуре он должен содержать метаданные в виде встраиваемого файла MANIFEST.imf.
Впрочем, сам объект этого типа изначально сопоставлен среде Java Runtime Environment, поэтому если таковая установлена на компьютере, файл откроется автоматически. В частности, это касается инструмента Jarsigner из пакета Java SDK.
Мобильные системы
В мобильных системах также можно встретить JAR. Чем открыть его на телефоне? Да ничего и предпринимать не нужно. Данные объекты являются установщиками приложений, однако, как правило, инсталляция производится с использованием дополнительного файла инструкций установщика в формате JAD.
При запуске инсталлятора будет произведена установка в автоматическом режиме по типу того, как такие процессы происходят в компьютерных системах (правда, без использования «Мастера установки» или выбора локации для инсталлируемого приложения). Если по каким-то причинам среда JAVA телефоном не поддерживается или просто не работает, нередко открытие можно произвести при помощи эмулятора MidpX.
Файл JAR: чем открыть на компьютере?
С компьютерными системами дело обстоит и того проще. Не говоря уже о вышеупомянутой среде разработки, можно использовать всем знакомые средства.
Итак, перед нами файл в формате JAR. Чем открыть его на компьютере или ноутбуке, можно понять, если вспомнить, что это на самом деле архив. Иными словами, любой из сегодня известных архиваторов подойдет. Совершенно просто операции распаковки можно произвести при помощи программ вроде WinRAR, WinZIP, 7-Zip и им подобных.
Нередко можно встретить и узконаправленные утилиты, позволяющие изменять формат архива, превращая файл в исполняемую программу в виде обычного «экзешника». Среди таковых самым известным приложением можно назвать JAR2EXE Converter.
Наконец, иногда в таком формате могут содержаться данные о темах оформления или дополнениях некоторых популярных веб-браузеров (Thunderbird, Mozilla Firefox и др.) Тема просто применяется к оформлению, а открытия файла как такового пользователь не видит (изменяется только внешний вид браузера).
Архив Java - это не просто набор классов
Для большинства Java-разработчиков JAR-файлы и их специализированные собратья WAR- и EAR-файлы - это просто конечный результат длительного процесса работы в Ant или Maven. Стандартная процедура ― скопировать JAR в нужное место на сервере (или, реже, в компьютере пользователя) и забыть о нем.
На самом деле, JAR-файлы годятся не только для того, чтобы хранить исходный код. Просто нужно знать их возможности и способы реализации этих возможностей. Советы, приведенные в этом выпуске Пяти секретов , помогут выжать максимум из файлов архива Java (а в некоторых случаях также и файлов WAR/EAR), особенно в процессе развертывания.
В силу того, что многие Java-разработчики используют Spring (а также поскольку среда Spring представляет некоторые проблемы для традиционного использования JAR-файлов), некоторые из советов специально относятся к JAR-файлам в приложениях Spring.
Об этом цикле статей
Вы думаете, что знаете о Java-программировании все? На самом деле большинство разработчиков только скребет по поверхности платформы Java, изучив ее лишь настолько, чтобы выполнять свою работу. В этом Тед Ньюард углубляется в функциональные возможности платформы Java, выявляя малоизвестные факты, которые могут помочь в решении самых заковыристых задач программирования.
Я начну с краткого примера стандартной процедуры работы с файлами Java Archive, которая будет служить основой для последующих советов.
Сохранение в JAR
Как правило, JAR-файл создают после компиляции исходного кода, чтобы собрать Java-код (который отделен от пакета) в одну коллекцию с помощью утилиты командной строки jar или, чаще, задачи jar Ant. Этот процесс достаточно прост, так что я не буду демонстрировать его здесь, хотя позже мы вернемся к теме конструкции JAR-файлов. Пока же нам просто нужно заархивировать Hello , отдельную утилиту консоли, которая решает невероятно полезную задачу вывода сообщения на консоль, как показано в листинге 1.
Листинг 1. Архивирование утилиты консоли
package com.tedneward.jars; public class Hello { public static void main(String args) { System.out.println("Howdy!"); } }Утилита Hello делает не много, но это полезный пример для изучения JAR-файлов, начиная с выполнения кода.
1. JAR-файлы исполняемы
Исторически языки типа.NET и C++ обладают преимуществом дружественного отношения к ОС: чтобы запустить приложение, достаточно просто набрать его имя в командной строке (helloWorld.exe) или дважды щелкнуть на соответствующий значок в оболочке графического интерфейса пользователя (GUI). В Java-программировании модуль запуска приложения — java — загружает в процесс JVM, и ему нужно передать аргумент командной строки (com.tedneward.Hello), указывающий класс, метод main() которого мы хотим запустить.
Эти дополнительные шаги затрудняют создание удобных для пользователя приложений на языке Java. Все эти элементы нужно набрать в командной строке, чего многие конечные пользователи стараются избегать, и очень часто что-то выходит не так, и это приводит к странным сообщениям об ошибке.
От этого можно уйти, сделав JAR-файл «исполняемым», так чтобы при его выполнении модуль запуска Java автоматически узнавал, какой класс нужно запустить. Для этого достаточно ввести в манифест JAR-файла (MANIFEST.MF в подкаталоге архива JAR META-INF) следующую запись.
Листинг 2. Указание точки входа
Main-Class: com.tedneward.jars.HelloМанифест ― это просто набор пар имя/значение. Иногда манифест может придираться к символам пробела и возврата строки, так что простейший способ ― использовать для его создания Ant. В листинге 3 для определения манифеста применяется элемент manifest задачи Ant jar .
Листинг 3. Создание точки входа
Теперь, чтобы выполнить JAR-файл, пользователю достаточно ввести его имя в командную строку посредством команды java -jar outapp.jar . В некоторых GUI-оболочках это можно сделать и двойным щелчком на JAR-файле.
2. JAR-файлы могут включать сведения о зависимостях
С ростом популярности утилиты Hello возникла необходимость варьировать ее реализацию. Многими деталями этого процесса управляют контейнеры инъекции зависимостей (Dependency Injection - DI), такие как Spring или Guice, но есть одно "но": изменение кода для включения контейнера DI может привести к результатам, подобным тому, что приведен в листинге 4.
Листинг 4. Hello, мир Spring!
package com.tedneward.jars; import org.springframework.context.*; import org.springframework.context.support.*; public class Hello { public static void main(String args) { ApplicationContext appContext = new FileSystemXmlApplicationContext("./app.xml"); ISpeak speaker = (ISpeak) appContext.getBean("speaker"); System.out.println(speaker.sayHello()); } }Параметр -jar модуля запуска отменяет все, что находиться в параметре -classpath командной строки, поэтому при запуске этого кода Spring должен присутствовать в CLASSPATH и в переменной окружения. К счастью, JAR-файлы допускают объявление в манифесте других JAR-зависимостей, которые неявно создают CLASSPATH без необходимости объявлять его, как показано в листинге 5.
Листинг 5. Hello, Spring CLASSPATH!
Обратите внимание, что атрибут Class-Path содержит относительную ссылку на JAR-файлы, от которых зависит приложение. Это можно написать в виде абсолютной ссылки или вообще без префикса, в предположении, что JAR-файлы находятся в том же каталоге, что и JAR приложения.
К сожалению, атрибут value Ant-атрибута Class-Path должен находиться в той же строке, поскольку манифест JAR не может работать с множественными атрибутами Class-Path . Так что все эти зависимости должны находиться в одной строке файла манифеста. Конечно, это некрасиво, но возможность написать java -jar outapp.jar того стоит!
3. На JAR-файлы можно ссылаться неявно
Когда есть несколько различных утилит командной строки (или других приложений), использующих среду Spring, удобно поместить JAR-файлы Spring в общую папку, посредством которой можно ссылаться на все эти утилиты. Это позволит избежать работы с несколькими копиями JAR-файлов, разбросанными по всей файловой системе. По умолчанию таким местом служит обычное местоположение среды выполнения Java для JAR-файлов, т.н. «каталог расширения», который находится в подкаталоге lib/ext каталога установки JRE.
Местоположение JRE можно изменять, но это делают так редко, так что для данной среды Java можно вполне безопасно предположить, что lib/ext - надежное место хранения JAR-файлов и что они будут неявно присутствовать в CLASSPATH среды Java.
4. Java 6 допускает подстановочные знаки в classpath
Во избежание громоздких переменных окружения CLASSPATH (от которых Java-разработчикам следовало бы отказаться много лет назад) и/или параметров командной строки -classpath в Java 6 введено понятие подстановочный знак classpath . Вместо того чтобы запускать каждый JAR-файл, явно указанный в аргументе, подстановочные знаки classpath позволяют написать lib/* , и в classpath попадут все JAR-файлы, перечисленные в этом каталоге (не рекурсивно).
К сожалению, подстановочные знаки classpath не поддерживаются в записи атрибута Class-Path манифеста, о которой говорилось выше. Но они облегчают запуск Java-приложений (включая серверы) при решении таких задач, как работа с инструментами генерации или анализа кода.
5. JAR- файлы содержат не только код
Spring, как и многие другие составляющие экосистемы Java, зависит от файла конфигурации, определяющего организацию среды. А именно, Spring зависит от файла app.xml, который находится в том же каталоге, что и файл JAR — но разработчики часто забывают скопировать вместе с JAR-файлом файл конфигурации.
Некоторые файлы конфигурации редактируются системным администратором, но значительное их число (например, состав библиотеки Hibernate) находятся вне его ведения, что приводит к ошибкам при развертывании. Разумное решение ― упаковать файл конфигурации вместе с кодом — и это выполнимо, потому что JAR ― это в основном замаскированный ZIP. Просто при построении JAR включите файлы конфигурации в Ant-задачу или командную строку jar .
JAR-файлы могут содержать не только файлы конфигурации, но и файлы других типов. Например, если бы мой компонент SpeakEnglish должен был бы обращаться к файлу свойств, я бы сделал это примерно так, как показано в листинге 6.
Листинг 6. Произвольный ответ
package com.tedneward.jars; import java.util.*; public class SpeakEnglish implements ISpeak { Properties responses = new Properties(); Random random = new Random(); public String sayHello() { // Выбор произвольного ответа int which = random.nextInt(5); return responses.getProperty("response." + which); } }Помещение responses.properties в JAR-файл означает, что файлов, о которых придется беспокоиться при развертывании наряду с JAR-файлами, стало на один меньше. Для этого достаточно включить файл responses.properties при создании JAR.
Однако как получить те свойства, которые хранятся в JAR-файле, назад? Если нужные данные расположены внутри одного и того же JAR-файла, как в предыдущем примере, не обязательно пытаться вспомнить местоположение этого JAR-файла и открывать его с помощью объекта JarFile . Вместо этого предоставьте ClassLoader данного класса найти его в качестве «ресурса» в составе JAR-файла, воспользовавшись методом ClassLoader getResourceAsStream() , как показано в листинге 7.
Листинг 7. ClassLoader находит ресурс
package com.tedneward.jars; import java.util.*; public class SpeakEnglish implements ISpeak { Properties responses = new Properties(); // ... public SpeakEnglish() { try { ClassLoader myCL = SpeakEnglish.class.getClassLoader(); responses.load(myCL.getResourceAsStream("com/tedneward/jars/responses.properties")); } catch (Exception x) { x.printStackTrace(); } } // ... }Эта процедура работает с ресурсами любого рода: файлами конфигурации, аудиофайлами, графическими файлами и т.п. Файл практически любого типа можно поместить в JAR, полученный как InputStream (посредством ClassLoader), и использовать любым способом.
Заключение
Эта статья раскрывает пять секретов JAR-файлов, обычно скрытых от большинства Java-разработчиков — по крайней мере, если основаться на истории и случаях из жизни. Отметим, что все советы, относящиеся к JAR-файлам, в полной мере справедливы и для WAR-файлов. Некоторые из них (в частности, атрибуты Class-Path и Main-Class), в случае WAR-файлов не так полезны, потому что среда сервлетов сама собирает все содержимое каталога и имеет предопределенную точку входа. Тем не менее, взятые в совокупности, эти советы выводят нас за рамки парадигмы «Начнем с копирования всего в этот каталог...» При этом они значительно упрощают и процесс развертывания Java-приложений.
Следующая статья этого цикла: "Пять секретов контроля производительности Java-приложений".