Как открыть jar файл с помощью java
Перейти к содержимому

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

  • автор:

Файл с расширением .jar

Иконка формата файла jar

Файл JAR — это архив Java, используемый средой Java Runtime Environment (JRE) для выполнения приложений, которые написаны на языке Java. Архив упакован с помощью сжатия zip и включает файлы классов (CLASS), а также может хранить ресурсы приложения и файл манифеста (MANIFEST.MF). Файлы JAR могут являться библиотеками классов, частью приложений или самостоятельными программами. Для создания архивов Java используется специальное программное обеспечение, например, среда разработки NetBeans IDE.

Как, чем открыть файл .jar?

Инструкция — как выбрать программу из списка, скачать и использовать ее для открытия файла

Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.

Программы

  • Проигрыватели аудио/видео
  • Редакторы изображений
  • Текстовые редакторы
  • Web-браузеры
  • Архиваторы
  • Работа с дисками
  • Офисные программы/пакеты

Файлы

  • Аудио-файлы
  • Видео-файлы
  • Рисунки, изображения
  • Растровые изображения
  • Векторные изображения
  • 3D-модели, изображения
  • CAD-файлы
  • Текст, документы
  • Электронные таблицы
  • Электронные книги
  • Архивы, сжатые файлы
  • Исполняемые файлы
  • Интернет, web файлы
  • Файлы игр
  • Образы дисков
  • Системные файлы
  • Файлы шрифтов
  • Зашифрованные файлы
  • Размеченные документы
  • Файлы резервных копий
  • Файлы данных
  • Файлы баз данных
  • Скрипты, исходный код
  • Подключаемые модули
  • Файлы настроек
  • Географические файлы
  • Другие файлы

JAR-файлы в Windows – как открывать, редактировать и конвертировать

Файл с расширением .JAR представляет собой файл Java Archive, используемый для хранения Java программ и игр в одном файле. Некоторые содержат файлы, которые заставляют их работать как отдельные приложения, а другие содержат библиотеки программ для использования другими программами.

JAR-файлы сжаты в ZIP и часто хранят такие вещи, как файлы CLASS, файлы манифеста и ресурсы приложения, такие как изображения, звуковые клипы и сертификаты безопасности. Так как они могут хранить сотни или даже тысячи файлов в сжатом формате, файлами JAR легко обмениваться и перемещать.

Мобильные устройства с поддержкой Java могут использовать файлы JAR в качестве файлов игры, а некоторые веб-браузеры содержат темы и надстройки в формате JAR.

Как открыть файлы JAR

Java Runtime Environment (JRE) должен быть установлен для того, чтобы открыть исполняемый JAR-файл, но обратите внимание, что не все JAR-файлы имеют формат исполняемого файла. После установки вы можете просто дважды щелкнуть файл JAR, чтобы открыть его.

JAR-файлы в проводнике системы Windows

Некоторые мобильные устройства имеют встроенную 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. Вместо этого файлы внутри архива перечислены с их подписанными контрольными суммами.

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

Вам нужно запустить файл Java-архива (JAR) на вашем устройстве, и вы не можете заставить его работать? Вы, должно быть, столкнулись с различными проблемами, вызывающими это. Тем не менее решить эту проблему должно быть легко. Читайте дальше, и мы покажем вам некоторые из наиболее полезных советов и процедур, которые вы можете попробовать для эффективного запуска файла JAR в Windows.

Проверьте ваше устройство на наличие Java. Убедитесь, что на вашем устройстве установлена ​​Java, необходимая для запуска файлов JAR в Windows. У вас есть выбор между Java JDK (разработка Java) или JRE (среда выполнения Java). Если у вас уже есть последний, вы все равно можете запустить файл Java на своем компьютере. Тем не менее, многие выбирают JDK из-за удобства, которое он предлагает, и поскольку в нем есть все, что есть в JRE, наряду с другими инструментами, такими как компиляторы и отладчики. Тем не менее, помните, что без любого из двух запуск Java будет невозможен. Вы также столкнетесь с проблемой, если Java не является программой по умолчанию для ваших файлов .jar.

Командная строка - Java недоступна

Итак, чтобы проверить, есть ли на вашем устройстве Java, запустите командную строку (вы можете ввести ее в строке поиска «Пуск» и ввести CMD или используйте сочетание клавиш Windows + R). Когда командная строка открыта, введите java -version и нажмите Enter.

Если на вашем ПК установлена ​​Java, будет отображаться версия Java. Если нет, вы получите сообщение следующего содержания: ‘java’ не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.

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

Сделайте Java по умолчанию для ваших файлов .jar. До этого шага вы могли заметить, что ваш файл Java совсем не похож на файл Java. Вместо значка Java он может отображаться как пустой или WinRAR. Теперь пришло время установить его по умолчанию для запуска ваших файлов .jar.

Установка Java(TM) Platform SE Binary по умолчанию при открытии файлов .jar

Для начала откройте проводник и перейдите в «Параметры» на вкладке «Вид». В раскрывающемся списке выберите Изменить папку и параметры поиска . Откроется небольшое окно, в котором нужно перейти на вкладку «Вид». В списке найдите Скрыть расширения для известных типов файлов. Нажмите «Применить», затем кнопку «ОК». Это должно добавить расширение .jar к имени файла вашего Java-файла.

Затем щелкните правой кнопкой мыши файл Java и выберите Открыть с помощью вариант. Вы можете сразу увидеть Двоичный код платформы Java(TM) SE из списка вариантов, но выберите Выберите другое приложение вместо. Это позволит вам получить доступ к опции для установки Двоичный код платформы Java(TM) SE по умолчанию для запуска Java в вашей системе. Там выберите его и проверьте Всегда используйте это приложение для открытия файлов .jar . Нажмите OK, и теперь ваш файл .jar должен появиться со значком Java.

Файл Java не работает при двойном щелчке. Если ваш файл .jar по-прежнему не запускается при двойном щелчке, есть другой способ решить эту проблему.

Перейдите к месту, где находится ваш файл .jar. В этом месте щелкните правой кнопкой мыши черное пространство и выберите Новая . Выберите Текстовый документ . Как только текстовый документ будет создан, переименуйте его в любое желаемое имя, но измените расширение файла с .текст в .bat . Нажмите Да для подтверждения действия при появлении подсказки или предупреждения. Опять же, убедитесь, что созданный вами файл .bat находится в ТОМ ЖЕ МЕСТЕ, где находится ваш файл .jar.

создание файла .bat для запуска Java-приложения

Как только текстовый документ будет преобразован в пакетный файл Windows, щелкните его правой кнопкой мыши и выберите Редактировать . В появившейся пустой заметке введите java -jar (имя файла с расширением .jar) . Например: java -jar MSPowerUser.jar. Чтобы избежать ошибок, просто скопируйте имя файла файла. После вставки сохраните и закройте файл. После этого вместо того, чтобы щелкать файл .jar, вы теперь будете использовать файл .bat для запуска приложения Java.

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

В обоих случаях (IDE или утилита jar) в архиве будет создаваться файл MANIFEST.MF. Как я уже писал — есть смысл почитать о дополнительных свойствах JAR-файлов. Т.к. в документации все очень неплохо написано, не буду заниматься переводом. Так что перейдем к следующему пункту нашего путешествия по JAR-файлам.

Подключение готовых JAR-файлов

Командная строка

Итак, я сказал, что основная функция JAR — содержать набор классов в виде class-файлов. Теперь нам надо понять, как подключать JAR-файлы к запускаемому классу, чтобы запускаемый класс мог использовать классы из JAR-файла.
Как вы уже хорошо знаете, запуск программы на Java включает запуск JVM (для Windows это файл java.exe, для Unix — java) и передача ей из командной строки имени класса, который вы собираетесь запускать. Например, для запуска класса First в пакете edu.javacourse.test надо в каталоге, внутри которого находится каталог edu/javacourse/test набрать такую команду:

java edu . javacourse . test . First

Как видите, в качестве аргумента мы передали полное имя класса, который собираемся запускать. JVM кроме имени класса принимает достаточно много параметров, которые позволяют конфигурировать те или иные свойства JVM. В этой статье мы разберем очень важный элемент — CLASSPATH — который как раз и используется для подключения JAR-файлов.
Сейчас мы проделаем полный цикл создания JAR-файла и его подключения без использования IDE — я очень трепетно отношусь к умению программиста пользоваться командной строкой. Во-первых, это показывает, что вы действительно понимаете суть, во-вторых — этот навык ну просто очень полезен. Например, в том же Unix/Linux очень большое количество работы гораздо удобнее делать в командной строке, да и некоторые продукты содержат утилиты, запускаемые из командной строки. Так что займемся.
Создадим каталог JavaLesson (в принципе мы его уже создавали в разделе Основные шаги. В этом каталоге создадим стуктуру каталогов JarLib/edu/javacourse/jar. С помощью текстового редактора создадим файл SayHello.java

package edu . javacourse . jar ;
public class SayHello
public void sayHello ( ) < System . out . println ( "HELLO" ) ;

Структура наших каталогов должна выглядеть вот так:

JavaLesson
javacourse
SayHello . java

Теперь время за командной строкой. Запускаем команду «cmd» (если не помните — смотрим раздел Основные шаги). Переходим в каталог JavaLesson/JarLib и в нем сначала компилируем наш файл SayHello.java вот такой командой

javac edu / javacourse / jar / SayHello . java

После успешной компиляции создаем JAR-файл с помощью команды

jar cf say . jar edu / javacourse / jar / SayHello . class

Если у вас все получилось, то в каталоге JavaLesson/JarLib должен появится файл say.jar.
Теперь напишем небольшой класс, который будет использовать наш класс SayHello. ВАЖНО . Для «чистоты эксперимента» создадим этот класс в каталоге JavaLesson. Предлагаю создать класс без использования пакетов (хотя это не должно быть правилом — в реальных проектах создавать классы без пакетов не надо). Вот наш файл UseHello.java, который будет находится в каталоге JavaLesson

import edu . javacourse . jar . SayHello ;
public class UseHello
public static void main ( String [ ] args ) < SayHello sh = new SayHello ( ) ; sh . sayHello ( ) ;

Обратите внимание на первую строчку — в ней мы импортируем класс SayHello. В методе main мы создаем объект и вызываем его метод. Структура наших каталогов должна выглядеть вот так:

JavaLesson
javacourse
SayHello . java
UseHello . java

Теперь нам надо скомпилировать наш замечательный класс. Пробуем команду javac. ВНИМАНИЕ . Мы находимся в каталоге JavaLesson.

javac UseHello . java

И мы получаем ошибку:

C : \ JavaLesson > javac UseHello . java
UseHello . java : 1 : error : package edu . javacourse . jar does not exist
import edu . javacourse . jar . SayHello ;
UseHello . java : 6 : error : cannot find symbol
SayHello sh = new SayHello ( ) ;
symbol : class SayHello
location : class UseHello
UseHello . java : 6 : error : cannot find symbol
SayHello sh = new SayHello ( ) ;
symbol : class SayHello
location : class UseHello

Сообщение в данном случае достаточно информативное — «UseHello.java:1: error: package edu.javacourse.jar does not exist» и «UseHello.java:6: error: cannot find symbol». Мы же не подключали наш класс SayHello — вот компилятор и не знает, откуда его брать и вообще откуда такой пакет/класс — edu.javacourse.jar.SayHello. Ну что же — перефразируя классику — «Ваше слово, товарищ CLASSPATH».
Очевидно, что нам надо компилятору подсказать, что он должен использовать не только те JAR-файлы, которые у него уже есть — тот же rt.jar — но и наш JAR-файл. Делается это с помощью специальной опции при запуске компилятора.

javac — cp JarLib / say . jar UseHello . java

В этой команде мы добавили строку -cp JarLib/say.jar. Часть -cp говорит, что за ней должен идти список JAR-файлов, которые содержат нужные классы. Список может включать несколько файлов, разделенных для Windows знаком «;», для Unix/Linux — «:». Например, если мне надо указать два файла — say1.jar и say2.jar — находящихся в каталоге C:/Anton/Libraries, то команда (для Windows) выглядела бы так:

javac — cp C : / Anton / Libraries / say1 . jar ; C : / Anton / Libraries / say2 . jar UseHello . java

Кстати, «-cp» — сокращенно от classpath — раньше надо было писать именно так, да и сейчас тоже можно.

javac — classpath C : / Anton / Libraries / say1 . jar ; C : / Anton / Libraries / say2 . jar UseHello . java

Также важно отметить, что в CLASSPATH можно включать не только JAR-файлы — туда можно включать путь до каталога с файлами .class (опять же — их может быть указано несколько штук). Если бы мы не создавали JAR-файл say.jar, а использовали скомпилированный файл SayHello.class из каталога JarLib, то команда выглядела бы вот так:

java — cp JarLib UseHello . java

Вы можете спросить — почему мы указали путь только до JarLib, а не полностью каталог с файлом SayHello.class. Дело в том, что т.к. наш файл содержится в пакете, то нам надо указать путь именно до пакета, а он находится в каталоге JarLib. Можно указать полный (а не относительный) путь — вот так:

javac — cp C : / JavaLesson / JarLib UseHello . java

Ну что же, скомпилировать нам удалось, самое время запускать наше замечательный класс. Скорее всего, вы уже догадываетесь, что при запуске нам тоже надо указать наш файл say.jar и выглядеть команда должна как-то так. ВНИМАНИЕ . Мы находимся в каталоге JavaLesson.

java — cp JarLib / say . jar UseHello

Но при запуске этой программы нас постигает неудача. Вот такое сообщение выдает JVM:

Error : Could not find or load main class UseHello

JVM не может найти наш класс. Как это, вот же он, прямо в этой директории ? Хитрость в том, что когда вы указываете CLASSPATH в командной строке, то JVM берет классы ТОЛЬКО из этих файлов/каталогов. А наш файл с классом UseHello находится в ТЕКУЩЕМ каталоге, который НЕ УКАЗАН. Вот такая вот эпидерсия. Нам надо указать JVM, чтобы она брала файлы и из текущего каталога тоже. Делается это так — в CLASSPATH надо указать символ «.». Это и будет текущий каталог. Наща команда должна выглядеть вот так:

java — cp . ; JarLib / say . jar UseHello

Ну что же — теперь все должно получится и мы увидим надпись HELLO.
Фокус с CLASSPATH может сыграть с вами достаточно злую шутку. Дело в том, что JVM использует переменную среды, которая так и называется «CLASSPATH». Для Windows она устанавливается точно так же как переменные «PATH» и «JAVA_HOME» — мы делали это в разделе Установка JDK. В этой переменной указывается набор JAR-файлов и каталогов, которые JVM будет использовать в случае, если вы НЕ указываете CLASSPATH при запуске своей программы.
Некоторые программы при своей установке создают (или обновляют) переменную среды «CLASSPATH» и могут даже вам ничего не сказать. И вот вы из командной строки запускаете свой класс, а JVM его НЕ ВИДИТ. Потому? что она dpzkf переменную «CLASSPATH» и в ней нет символа «.». В этом случае происходит то, что мы уже видели — файлы из текущего каталога не загружаются. Так что будьте внимательны.

Подключение JAR-библиотек в IDE NetBeans

Т.к. в данном курсе я использую для демонстрации NetBeans, то наверно будет неправильно не показать, как подлкючать JAR в этой среде. Как я уже упоминал, если появится время на другие IDE, я буду писать их в этой же статье. Но не думаю, что это будет в ближащее время.
Если вы посмотрите служебное окно «Projects», которое обычно находится слева, то вы в нем вы можете увидеть структуру вашего проекта, которая содержит раздел «Libraries». Я создал два проекта SayHello и UseHello

В открытом файле UseHello.java в самой первой строке видно, что компилятор выдает в ней ошибку — как мы уже знаем, она говорит об отсутствии нужного класса. В принципе IDE позволяют подключать не только готовые JAR-файлы, но и проекты, но мы не будем использовать эту функцию (в данном случае специально). Чтобы подключить библиотеку из проекта SayHello нам для начала надо собрать этот проект через команду «Build». Результат можем увидеть в каталоге dist. В нем мы можем увидеть файл SayHello.jar. Предвидя вопрос — а можно поменять имя файла — для того, чтобы файл создавался с другим именем, надо исправлять конфигурационный файл nbproject/project.properties. Найти в нем опцию с именем dist.jar И поменять имя файла. В общем не очень удобно. Так что я обычно этого не делаю.
Теперь нам надо подключить готовый JAR-файл к нашему второму проекту UseHello. Сделать это можно несколькими способами.

  1. Щелкнуть правой кнопкой мышки на пункте «Libraries» в структуре проекта и в нем выбрать пункт «Add JAR/Folder». После выбора файла его можно будет видеть под веткой «Libraries»
  2. Целкнуть правой кнопкой мышки на проекте UseHello в окне «Projects» и в выпадающем меню выбрать пункт (обычно самый нижний) «Properties». В открывшемся диалоговом окне выбрать слева пункт «Libraries» и в закладке «Compile» использовать кнопку «Add JAR/Folder».


Также предлагаю заглянуть на закладку «Run». В нем можно увидеть, что при запуске будет подключаться те библиотеки, которые подключаются при компиляции исходников («Classpath for Compiling Source»).

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

Исходный код для проектов под NetBeans можно скачать здесь. Библиотеку в них надо подключить самостоятельно. Так что можете потренироваться. Удачи.

И теперь нас ждет следующая статья: Многопоточность — первые шаги.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *