В обоих случаях (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
Как запускать игры и приложения на Java
Как видите, в качестве аргумента мы передали полное имя класса, который собираемся запускать. 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
Как правильно разрабатывать Java приложение?
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. Сделать это можно несколькими способами.
- Щелкнуть правой кнопкой мышки на пункте «Libraries» в структуре проекта и в нем выбрать пункт «Add JAR/Folder». После выбора файла его можно будет видеть под веткой «Libraries»
- Целкнуть правой кнопкой мышки на проекте UseHello в окне «Projects» и в выпадающем меню выбрать пункт (обычно самый нижний) «Properties». В открывшемся диалоговом окне выбрать слева пункт «Libraries» и в закладке «Compile» использовать кнопку «Add JAR/Folder».
Также предлагаю заглянуть на закладку «Run». В нем можно увидеть, что при запуске будет подключаться те библиотеки, которые подключаются при компиляции исходников («Classpath for Compiling Source»).
На этом можно закруглиться, хотя конечно же процесс познания бесконечен и вам наверняка встретится еще много интересной информации по использованию и созданию jar-файлов.
Исходный код для проектов под NetBeans можно скачать здесь. Библиотеку в них надо подключить самостоятельно. Так что можете потренироваться. Удачи.
И теперь нас ждет следующая статья: Многопоточность — первые шаги.
Источник: java-course.ru
Формат JAR: чем открыть на компьютере или на телефоне
На операционной системе Виндовс можно запустить jar файл специальными программами. Давайте перечислим основные варианты.
Oracle Java Runtime Environment
Это приложение, которое позволит просматривать документы на персональном компьютере. Вы сможете работать даже с теми играми, которые наотрез отказываются «сотрудничать» со стандартными программами.
Eclipse
Это бесплатная разработка, которая создана для работы с таким форматом. Простое и понятное меню не вызовет проблем и сложностей. В нем разберется начинающий пользователь, ведь все разложено по полочкам.
7-Zip
Этот архиватор поможет разобраться, как открыть файл jar. Подходит для использования документов с соответствующим форматом (Рисунок 2). Полнофункциональное приложение доступно для бесплатного скачивания. Скачать программу 7-Zip возможно на нашем сайте.
Рисунок 2. Внешний вид интерфейса программы 7-zip для работы с файлами jar
WinRAR
Этот архиватор умеет обрабатывать большинство расширений. С ним намного комфортнее понять, как запустить jar файл (Рисунок 3). Продукт используется на разных платформах.
Примечание: WinRAR Вы можете скачать у нас с сайта.
Рисунок 3. Рабочий интерфейс приложения WinRaR для работы с файлами .jar
IZArc
Бесплатная программка, которая поддерживает работу с доками разных форматов. Очень простая и понятная разработка. Интерфейс продуман до мельчайших подробностей.Программа IZArc доступна на нашем сайте.
WinZIP
Еще один достаточно распространенный архиватор, который предназначен для расширения. WinZIP возможно скачать с нашего сайта. Отличается отменным сжатием памяти, поэтому есть возможность сэкономить место на жестком диске (Рисунок 4). Пакет предложен в разных версиях, что позволяет подобрать подходящий вариант для своего оборудования.
Рисунок 4. Внешний вид окна распакованного файла в приложении WinZIP
ZipZag
Работа с архивами будет комфортной и простой. Каждый пункт меню понятен для пользователя с небольшим опытом. Вы сможете просматривать документы формата, не сталкиваясь с проблемами.
Java Development Kit
Интерактивный пакет разработан специально для подобных расширений. Это полноценный набор инструментов, которые выполняют полезные функции.
Теперь вы знаете, как запустить jar файл в windows с помощью специальных пакетов.
Как распаковать Jar?
Практически любой архиватор может открывать подобные файлы, рассмотрим самые популярные.
WinRAR
В приложении WinRAR процедура следующая:
- Открываем программу. Во вкладке меню «файл» находим подменю «открыть архив».
- Среди файлов на ПК ищем нужный ява-архив и мышкой выбираем его. Нажимаем на кнопку «открыть».
- В открытом окне выделяем все элементы и нажимаем на них правой кнопкой мыши, в появившемся меню выбираем вкладку «извлечь в указанную папку».
- В новом окне выбираем путь для распаковки и жмем «ОК».
Что такое AAC формат и как его открыть
7-Zip
Для архиватора 7-Zip используем такую инструкцию:
- Открываем окно архиватора. Находим нужный файл, выбираем его левой кнопкой мыши и нажимаем кнопку «извлечь» на панели вверху.
- Указываем путь для извлечения данных и нажимаем «ОК».
Total Commander
В популярном файловом менеджере Total Commander нужно придерживаться следующего алгоритма:
- Запускаем приложение.
- Правой клавишей мыши нажимаем на файл, в меню выбираем «извлечь в текущую папку» или «извлечь». Если выбран второй вариант, то, как и в случае с WinRAR необходимо указать папку для распаковывания.
Как запустить файл на linux
Линукс – это операционная система, на которой тоже часто используются подобные форматы. Посмотрите, как запустить jar файл linux, не сталкиваясь с проблемами.
Eclipse
Самый простой и доступный каждому пользователю вариант. С ним можно быстро загрузить то, что нужно, не сталкиваясь со всевозможными сложностями. За скачивание пакета не придется платить.
Java Runtime Environment
Она позволяет запустить приложения, которые написаны на языке Java. Платформа подходит для эксплуатации на девайсах, работающих на операционной системе Линукс.
Что такое JAR-файлы
JAR расшифровывается как Java ARchive. Это архивный файл внутри которого находятся другие файлы запакованные с максимальным уровнем сжатия. Если вы знакомы с файлами ZIP или RAR, то файл JAR — это, по сути, одно и то же. Разница в том, что JAR-файлы — это приложения, разработанные для использования в среде выполнения Java.
Другое отличие файлов JAR от обычных архивов — это то, что они содержат манифест. Это специальный метафайл, который, сообщает JAR, как себя вести во время запуска, и содержит информацию о файлах находящихся внутри.
Файл JAR также может содержать файлы CLASS (скомпилированный код Java), аудиофайлы, файлы изображений и многое другое.
JAR может использоваться для самых разных целей на настольных и мобильных устройствах. Например, это может быть игра, тема приложения или расширение браузера.
Запуск jar файла на MacOS
Для этой ОС тоже существуют пакеты, дающие возможность насладиться любимыми играми и прочими апплетами.
Apple Jar Launcher
Отменный пакет, с которым запуск jar файла будет оперативным. Работа с ним простая и понятная. Пользователи с легкостью разберутся в меню.
WinZip Mac
Вариант для архивирования и хранения данных. Быстро открывает соответствующие расширения (Рисунок 5).
Рисунок 5. Внешний вид интерфейса приложения WinZip Mac для MacOS устройств
Java Runtime Environment
Платформа, установка которой позволит вам запускать документы. Не занимает много места, устанавливается менее чем за 2 минуты.
Как запустить jar?
Рассмотрим на примере различных приложений, как запустить файлы джар в Windows 7, 8, 10.
Kemulator
Программа-эмулятор игр для мобильных телефонов, использующих расширение jar. В Kemulator для открытия jar на компьютере нужно выполнить следующее:
- Устанавливаем эмулятор.
- Запускаем его.
- В разделе «Midlet» выбрать «load jar…».
- Выбираем исполняемый архив и нажимаем на него.
MidPx
MidPx — еще один эмулятор для запуска ява-архивов на компьютере:
- Инсталлируем приложение в Windows.
- Открываем интернет-браузер и выбираем элемент для запуска, нажимаем по нему правой кнопкой мыши. Во всплывающем меню выберем вкладку «Link to MidPx».
Sjboy Emulator
Альтернативный эмулятор мобильного телефона. В Sjboy Emulator процедура открытия jar следующая:
- Устанавливаем приложение.
- Нажимаем правой кнопкой мыши на jar, в открывшемся новом окне выбираем вкладку «Open with Sjboy Emulator».
Мобильные системы
В мобильных системах также можно встретить JAR. Чем открыть его на телефоне? Да ничего и предпринимать не нужно. Данные объекты являются установщиками приложений, однако, как правило, инсталляция производится с использованием дополнительного файла инструкций установщика в формате JAD.
При запуске инсталлятора будет произведена установка в автоматическом режиме по типу того, как такие процессы происходят в компьютерных системах (правда, без использования «Мастера установки» или выбора локации для инсталлируемого приложения). Если по каким-то причинам среда JAVA телефоном не поддерживается или просто не работает, нередко открытие можно произвести при помощи эмулятора MidpX.
Как запустить через командную строку?
Перед запуском командной строки в ОС Windows необходимо прописать настройки для работы с элементами ява. Для этого нажмем правой клавишей мышки на «Мой компьютер», выберем вкладку «Свойства». Далее заходим в «Дополнительные параметры системы» — «Переменные среды».
Задай любой вопрос и получи ответ на спрашивалке и спрашивай ру
Во вкладке «Системные переменные» надо создать переменную «JAVA_HOME» со значением «» (например, «D:travel2Ukrainejdkbin»). Эту же ссылку необходимо вписать в уже существующую новую переменную Path после «;». После проделанных операций все сохраняется и запускается командная строка.
В консоли делаем замену директории с jar прописав команду CHDIR:
Чтобы запустить ява-приложение вводим «java -jar ». Нажимаем клавишу «Enter».
Не удается открыть .jar файл?
Если вы хотите открыть .jar файл на вашем компьютере, вам просто необходимо иметь соответствующие программы установлены. Если jar Ассоциации установлены неправильно, вы можете получить следующее сообщение об ошибке:
Не удалось открыть этот файл:
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать, чтобы открыть его. Окна могут выходить в интернет, чтобы искать его автоматически, или вы можете вручную выбрать из списка программ, установленных на вашем компьютере.
Источник: mycomp.su
Как открыть JAR-файл в Windows
Если вы столкнулись с типом файла JAR и задались вопросом, что это такое, вы попали по адресу. Это файл архива Java, и в этой статье мы поговорим о том, что из себя представляет JAR и как его открыть. А также рассмотрим ошибки которые могут возникнуть при работе с JAR-файлами и попробуем их решить.
Что такое JAR-файлы
JAR расшифровывается как Java ARchive. Это архивный файл внутри которого находятся другие файлы запакованные с максимальным уровнем сжатия. Если вы знакомы с файлами ZIP или RAR, то файл JAR — это, по сути, одно и то же. Разница в том, что JAR-файлы — это приложения, разработанные для использования в среде выполнения Java.
Другое отличие файлов JAR от обычных архивов — это то, что они содержат манифест. Это специальный метафайл, который, сообщает JAR, как себя вести во время запуска, и содержит информацию о файлах находящихся внутри.
Файл JAR также может содержать файлы CLASS (скомпилированный код Java), аудиофайлы, файлы изображений и многое другое.
JAR может использоваться для самых разных целей на настольных и мобильных устройствах. Например, это может быть игра, тема приложения или расширение браузера.
Как открыть файлы JAR
Если вы хотите открыть файл JAR, то есть запустить приложение, содержащееся в нем, вам необходимо установить среду выполнения Java. Возможно, он уже установлен на вашем компьютере, но я рекомендею еще раз скачать и обновить Java. Ниже вы узнаете почему это так важно.
Затем вы должны загрузить легкую утилиту под названием Jarx. Она заставляет файлы JAR вести себя как обычные программы на вашем компьютере. Таким образом, после установки Jarx вы можете открыть файл JAR, как любой другой файл, дважды щелкнув по нему.
Вы также можете запустить его из командной строки. Нажмите на Поиск и введите cmd. Щелкните правой кнопкой мыши и выберите «Запуск от имени администратора». Затем введите следующую команду, но замените имя_файла.jar полным путем к вашему файлу JAR:
< strong >java — jar имя _ файла . jar < / strong >
Как извлечь JAR
Кроме того, вы можете распаковать файл JAR, чтобы увидеть, какие файлы в нем содержатся.
Чтобы распаковать JAR, вам нужна программа, которая может извлечь сжатые файлы. Для этого в Windows есть свой инструмент. Можно также использовать программное обеспечение для извлечения файлов, такое как 7-Zip или WinRAR.
Откройте файл JAR в любом из перечисленных выше архиваторов — это позволит просмотреть все папки и файлы находящиеся в нем, а также извлечь JAR-файлы.
Если вы не хотите устанавливать архиваторы, то можно воспользоваться онлайн-сервисами.
Хороший выбор — это Archive Extractor. Просто загрузите свой JAR, и он покажет вам содержимое файла в древовидной структуре. Нажмите на папку, чтобы открыть или развернуть ее, или выберите файл, чтобы загрузить его отдельно.
Наконец, если на вашем компьютере возникают проблемы с распознаванием исполняемого файла JAR, вы можете щелкнуть правой кнопкой мыши файл, щелкнуть «Переименовать» и затем добавить расширение .ZIP.
Как создать файлы JAR
Цель создания файлов JAR — объединение файлов для использования в качестве приложения Java.
Если это то, что вам нужно сделать, обратитесь к пакетным программам Oracle в документации к файлам JAR. Это даст вам всю необходимую информацию о том, как создать, упаковать и подписать файл JAR.
Как исправить проблемы с открытием JAR-файлов
Вы можете получить сообщение об ошибке при попытке открыть файл JAR, часто из-за несовместимости или настроек безопасности.
Обновите среду выполнения Java
Вы всегда должны запускать последнюю версию Java Runtime Environment.
Чтобы увидеть, какую версию Java вы используете, откройте меню «Пуск», введите команду «настроить java» и выберите результат. Панель управления Java откроется. На вкладке «Общие» нажмите «О программе» и убедитесь, что у вас установлена последняя версия, JAVA. О том какая последняя версия JAVA доступна для скачивания, вы можете узнать на сайте Oracle.
JAR открывается в неправильной программе
Windows может не знать, что делать с файлом JAR, и может попытаться открыть его в программе, которая не поддерживает этот формат.
Решить эту проблему можно следующим способом. Нажмите на файле правой кнопкой мыши и в выпадающем меню выберите «Открыть с помощью». Выберите из списка подходящее приложение и попробуйте запустить. Если среди списка нет нужной программы перейдите на «Выбрать другое приложение», выберите необходимое приложение и запустите файл.
Если вы хотите запустить файл в среде выполнения Java напрямую, перейдите в < strong >Program Files Java jre1 . 8.0_211 bin < / strong >и выберите java.exe.
JAR выдает ошибку безопасности при открытии
В последние годы Java рассматривается как угроза безопасности, поэтому не удивляйтесь, если при попытке открыть файл JAR вы получите предупреждение.
Чтобы решить эту проблему, откройте меню «Пуск» и введите «настроить Java». После чего откроется панель управления Java. Перейдите на вкладку «Безопасность». Убедитесь, что вы установили флажок Включить содержимое Java для приложений браузера и веб-запуска, установите высокий уровень безопасности и добавьте его в список сайтов исключений, если это необходимо. После этого нажмите ОК.
Заключение
Надеюсь, теперь вы понимаете, что такое файл JAR, как его открыть и как решить любые проблемы, с которыми вы можете столкнуться.
Источник: tech-geek.ru