Программы jar. Чем открыть файл.JAR? Сохранение в JAR

Наиболее часто встречаемой проблемой, из-за которой пользователи не могут открыть этот файл, является неверно назначенная программа. Чтобы исправить это в ОС Windows вам необходимо нажать правой кнопкой на файле, в контекстном меню навести мышь на пункт "Открыть с помощью", а выпадающем меню выбрать пункт "Выбрать программу...". В результате вы увидите список установленных программ на вашем компьютере, и сможете выбрать подходящую. Рекомендуем также поставить галочку напротив пункта "Использовать это приложение для всех файлов JAR".

Другая проблема, с которой наши пользователи также встречаются довольно часто - файл JAR поврежден. Такая ситуация может возникнуть в массе случаев. Например: файл был скачан не польностью в результате ошибки сервера, файл был поврежден изначально и пр. Для устранения данной проблемы воспользуйтесь одной из рекомендаций:

  • Попробуйте найти нужный файл в другом источнике в сети интернет. Возможно вам повезет найти более подходящую версию. Пример поиска в Google: "Файл filetype:JAR" . Просто замените слово "файл" на нужное вам название;
  • Попросите прислать вам исходный файл еще раз, возможно он был поврежден при передаче;

Файл JAR — приложение или игра для старых мобильных телефонов поддерживающие Java, а так же файлы Jar используются в браузере Mozilla Firefox, в качестве тем оформления и дополнений.

Формат JAR знаком тем, кто пользуется java для работы или развлечений. В состав этого расширения входят разные классы файлов java. Также в составе имеются другие ресурсы, которые связаны с программами и приложениями. Они могут представлять собой изображения, тексты или что-то другое.

Благодаря сохранению рабочих файлов в формате JAR ощутимо упрощается распределение таких ресурсов по платформе java. Например, на персональных компьютерах, где есть JRE, работа таких файлов осуществляется в режиме независимых программ. Заметим, что кроме этого они могут использоваться в качестве библиотек приложений. В этих файлах сохраняются данные после выхода из игры. Браузер Mozilla Firefox использует файлы JAR, чтобы сохранять темы и аддоны.

Что нужно знать о файлах JAR?

На создание формата JAR разработчиков натолкнуло расширение ZIP. Файлы с таким форматом создаются разными способами, например, они могут быть сделаны с помощью специальных инструментов и команд jar. Полученный архив может иметь цифровую подпись для большей надежности. Она создается с помощью инструментов jarsign. Файлы с таким расширением очень востребованы у пользователей и нашли широкое применение.

Архив 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-приложений".

В этой статье мы подробно расскажем о файлах формата jar. Вы узнаете как открыть файл в формате jar, какие программы для этого понадобятся, а так же много полезной информации.

Рисунок 1. Окно выбора файла формата.jar для открытия

Что такое формат файла jar

Расширение Java ARchive - это специальный архив с приложениями. Если говорить простым языком, это документ ZIP, который дополнен определенными функциями. Как же его использовать на разных девайсах?

Как запустить файл в windows

На операционной системе Виндовс можно запустить jar файл специальными программами. Давайте перечислим основные варианты.

Oracle Java Runtime Environment

Это приложение, которое позволит просматривать документы на персональном компьютере. Вы сможете работать даже с теми играми, которые наотрез отказываются «сотрудничать» со стандартными программами.

Eclipse

Это бесплатная разработка, которая создана для работы с таким форматом. Простое и понятное меню не вызовет проблем и сложностей. В нем разберется начинающий пользователь, ведь все разложено по полочкам.

7-Zip

Этот архиватор поможет разобраться, как открыть файл jar. Подходит для использования документов с соответствующим форматом (Рисунок 2). Полнофункциональное приложение доступно для бесплатного скачивания. Скачать программу возможно на нашем сайте.


Рисунок 2. Внешний вид интерфейса программы 7-zip для работы с файлами jar

WinRAR

Этот архиватор умеет обрабатывать большинство расширений. С ним намного комфортнее понять, как запустить jar файл (Рисунок 3). Продукт используется на разных платформах.


Рисунок 3. Рабочий интерфейс приложения WinRaR для работы с файлами.jar

IZArc

Бесплатная программка, которая поддерживает работу с доками разных форматов. Очень простая и понятная разработка. Интерфейс продуман до мельчайших подробностей.Программа доступна на нашем сайте.

WinZIP

Еще один достаточно распространенный архиватор, который предназначен для расширения. возможно скачать с нашего сайта. Отличается отменным сжатием памяти, поэтому есть возможность сэкономить место на жестком диске (Рисунок 4). Пакет предложен в разных версиях, что позволяет подобрать подходящий вариант для своего оборудования.


Рисунок 4. Внешний вид окна распакованного файла в приложении WinZIP

ZipZag

Работа с архивами будет комфортной и простой. Каждый пункт меню понятен для пользователя с небольшим опытом. Вы сможете просматривать документы формата, не сталкиваясь с проблемами.

Java Development Kit

Интерактивный пакет разработан специально для подобных расширений. Это полноценный набор инструментов, которые выполняют полезные функции.

Теперь вы знаете, как запустить jar файл в windows с помощью специальных пакетов.

Как запустить файл на linux

Линукс - это операционная система, на которой тоже часто используются подобные форматы. Посмотрите, как запустить jar файл linux, не сталкиваясь с проблемами.

Eclipse

Самый простой и доступный каждому пользователю вариант. С ним можно быстро загрузить то, что нужно, не сталкиваясь со всевозможными сложностями. За скачивание пакета не придется платить.

Java Runtime Environment

Она позволяет запустить приложения, которые написаны на языке Java. Платформа подходит для эксплуатации на девайсах, работающих на операционной системе Линукс.

Запуск jar файла на MacOS

Для этой ОС тоже существуют пакеты, дающие возможность насладиться любимыми играми и прочими апплетами.

Apple Jar Launcher

Отменный пакет, с которым запуск jar файла будет оперативным. Работа с ним простая и понятная. Пользователи с легкостью разберутся в меню.

File Viewer

Универсальная прога, которая позволяет смотреть содержание документов с разными форматами. Как нельзя лучше подходит для этой операционной системы.

Как открыть файл с помощью java?

Вы не знаете, как открыть jar файл с помощью java? Для просмотра документов есть множество приложений Java. Вы можете выбрать то, что подходит для вашей операционной системы. Изучите характеристики каждого из вариантов, чтобы подобрать оптимальный пакет для своего гаджета.

Если вы ищете, чем открыть jar файл на компьютере, просмотрите вышеописанные способы. Среди них вы обязательно что-то возьмете на заметку!

JAR (Java Archive File) – формат архива, в котором хранятся элементы программы, написанной на языке Java. Чаще всего файлы с таким расширением являются мобильными играми и приложениями. На компьютере можно просмотреть содержимое такого архива и/или попытаться запустить JAR как приложение.

Для начала рассмотрим несколько программ для открытия архива JAR. Так можно убедиться, что в нём содержится всё необходимое для запуска этого приложения, а также внести требуемые изменения.

Способ 1: WinRAR

Когда речь заходит об архивах, большинству пользователей приходит на ум программа WinRAR. Для открытия файла JAR она отлично подходит.


Обратите внимание на наличие папки «META-INF» и файла «MANIFEST.MF» , который должен храниться в ней. Это позволит реализовать файл JAR в качестве исполняемого.

Найти и открыть нужный архив можно и через встроенный обозреватель файлов WinRAR.

Если с содержимым архива планируется дальнейшая работа, то потребуется разархивация.

Способ 2: 7-Zip

Поддержка расширения JAR предусмотрена и в архиваторе 7-Zip.


Способ 3: Total Commander

Альтернативой упомянутым программам может стать файловый менеджер Total Commander. Т.к. его функционал включает работу с архивами, открыть JAR-файл будет несложно.


Способы запуска JAR на компьютере

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

Способ 1: KEmulator

Программа KEmulator – это продвинутый Java-эмулятор, позволяющий произвести настройку всевозможных параметров запуска приложения.

На мобильных телефонах управление осуществлялось с помощью клавиатуры. В KEmulator можно включить её виртуальный аналог: нажмите «Справка» и выберите пункт «Клавиатура» .

Выглядеть это будет так:

При желании в настройках программы Вы сможете задать соответствия клавиш телефона клавишам компьютера.

Обратите внимание, что в папке с JAR появится файл «kemulator.cfg» , в котором прописаны параметры работы этого приложения. Если его удалить, то все настройки и сохранения (если речь идёт об игре) удалятся.

Способ 2: MidpX

Программа MidpX нет так функциональна, как KEmulator, но со своей задачей справляется.

После установки все файлы JAR будут ассоциироваться с MidpX. Это можно понять по изменившейся иконке:

Дважды кликните по ней и приложение будет запущено. При этом виртуальная клавиатура уже интегрирована в интерфейс программы, однако настроить управление с клавиатуры ПК тут нельзя.

Способ 3: Sjboy Emulator

Ещё один простой вариант для запуска JAR – это Sjboy Emulator. Главная его особенность заключается в возможности выбора скинов.


Клавиатура тут также интегрирована.

Итак, мы выяснили, что JAR можно открыть не только как обычный архив, но и запустить на компьютере через Java-эмулятор. В последнем случае удобнее всего использовать KEmulator, хотя и другие варианты тоже имеют свои преимущества, например, возможность изменять оформление окна.