Как запустить bin файл с помощью java

Обновлено: 06.07.2024

Компилятор Java (javac) преобразует код, написанный на языке программирования Java в промежуточную форму – байт-код . Программа, состоящая из байт-кода, запускается специальной программой JVM (Java Virtual Machine – Виртуальная машина Java). Перед тем как выполнить программу, JVM компилирует байт-код в машинный код. Машинный код – это некая последовательность команд (набор кодов операций), которые понимает и умеет исполнять компьютер.

В других языках, например, C++, этап компиляции в байт-код отсутствует: компилятор сразу преобразует текст программы (код) в машинный код и создает бинарный файл для исполнения (в Windows – это файл с расширением exe). Основным недостатком данного подхода является зависимость от операционной системы и процессора: для каждой операционной системы и процессора необходимо скомпилировать свою версию машинного кода.

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

Для того, чтобы скомпилировать и запустить программу на языке Java, необходимо выполнить следующий перечень действий:

1) создать файл с расширением java, содержащий текст программы;

2) скомпилировать его с помощью компилятора javac. Компилятор проверит код на ошибки и, если он корректен, выдаст файл с расширением class;

3) полученный файл, содержащий байт-код, запустить с помощью виртуальной машины Java.

Компилятор javac в Windows

Перейдем в командную строку Windows (cmd) и введем команду «javac».

1) Перейти по пути «C:\Program Files\Java\jdk-10.0.2\bin » (если Вы оставили путь для установки JDK по умолчанию, как это было в предыдущем уроке). В этой папке Вы можете наблюдать исполняемые файлы java.exe и javac.exe.

2) Переходим в окно Windows «Этот компьютер». На свободном пространстве нажимаем правой кнопкой мыши, должно появиться контекстное меню. В нём выбираем пункт «Свойства».

3) В появившемся окне «Система» нажимаем на «Изменить параметры».

4) В появившемся окне «Свойства системы» во вкладке «Дополнительно» нажимаем на кнопку «Переменные среды…».

5) В появившемся окне «Переменные среды» во вкладке «Системные переменные» находим переменную «Path» и нажимаем на кнопку «Изменить…».

6) В появившемся окне «Изменить переменную среды», нажимаем на кнопку «Создать» и добавляем новое значение: « C:\Program Files\Java\jdk-10.0.2\bin\ ». Принимаем изменения и нажимаем кнопку «ОК».

Также могут возникать ошибки следующего вида при запуске интегрированных сред разработки (например, IntelliJ IDEA): «Failed to create JVM: error code -1» или «Could not create the Java Virtual Machine». Во избежание таких ошибок необходимо добавить системную переменную «JAVA_HOME» со значением « C:\Program Files\Java\jdk-10.0.2\ ».

7) Принимаем изменения во всех остальных открытых нами окнах, нажимая кнопку «ОК».

8) Переходим в командную строку и вводим "javac" или "java".

Система выдаст нам справку, в которой показано как использовать (usage) команду и перечислены её возможные опции (options). Source files (дословно «источники файлов») – это пути к компилируемым нами файлам.

Компиляция программы и её запуск на исполнение

Скомпилируем нашу первую программу и запустим её.

Создадим файл Cat.java (Помните же, что имя класса должно соответствовать имени файла?) и поместим в этот файл следующий код:

public class Cat public static void main(String[] args) System.out.println("Привет, я кот! Твой друг ;)");
>
>

В командной строке введём команду «javac» и через пробел укажем путь к созданному файлу. Так, если Вы создали файл Cat.java на рабочем столе Windows, то путь к файлу будет следующим: «C:\Users\USERNAME\Desktop\Cat.java », где USERNAME – имя Вашего пользователя.

Иногда могут возникать сложности при создании файла с расширением java: используя стандартный текстовый блокнот в Windows, новички просто изменяют имя файла, и в итоге вместо файла Cat.java создается файл Cat.java.txt. Для создания файла именно с расширением java, можно воспользоваться каким-нибудь текстовым редактором, например, Notepad++. Будьте внимательны!

Вводим в командную строку команду «javac C:\Users\USERNAME\Desktop\Cat.java » и рядом с нашим файлом появится новый файл Cat.class, который содержит байт-код - промежуточное представление программы, содержащее инструкции, которые будет выполнять виртуальная машина JVM, или, иначе говоря, компилятор javac выдает результат, который не является непосредственно исполняемым кодом.

В процессе компиляции исходного кода каждый отдельный класс помещается в собственный выходной файл, называемый по имени класса и получающий расширение class. Его содержимое можно открыть также текстовым редактором, например, Notepad++.

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

Введём в командной строке «java Cat» и получим ошибку «Не могу найти или загрузить основной класс Cat»:

Error: Could not find or load main class Cat
Caused by: java.lang.ClassNotFoundException: Cat

Введём в командной строке теперь верную команду: «java –classpath C:\Users\USERNAME\Desktop Cat ». Здесь мы использовали опцию classpath («путь к файлу с расширением class»). Для изучения схемы использования команды и возможных опций, как Вы уже догадались, необходимо ввести команду «java».

В следующем уроке мы установим интегрированную среду разработки, создадим первый проект и запустим нашу программу.

Компиляция в Java - 1

Программирование в IDE — прекрасно: связанность зависимостей кода, удобный дебаг, понятное тестирование, темная тема. Так вот, благодаря IDE разработка развивается семимильными шагами. Но она расслабляет. С каждым днем, погружаясь в функционал IDE, разработчик привыкает к коммиту одной кнопкой или сборке двумя кликами. Гораздо хуже обстоит ситуация с новичками в программировании, которые с самого начала работают в IDE, игнорируя работу в командной строке. Например, в Intellij IDEA компиляция Java приложения демонстрируется загрузочным баром в нижней панели, а все параметры компиляции, обработка classpath и прочих прелестей Java-жизни остается за кадром. Предлагаем поговорить о компиляции в Java без IDE. Для запуска примеров в статье следует убедиться, что на вашей машине установлена JDK 1.7 и старше.

Как скомпилировать программу?

  1. Есть исходный код в файле с именем НазваниеКласса.java;
  2. Если в коде нет ошибок, он компилируется в байт-код (в файл НазваниеКласса.class);
  3. Программа запускается.

Для чего нужна команда javac

Компиляция в Java - 2

Окей, первый пункт выполнен. Идем дальше, чтобы понять: скомпилировать — это как? :) В этом нам поможет команда javac, в аргументе которой необходимо указать нужный файл: Если нет ошибок в коде, рядом с файлом Test.java появится файл Test.class. Это и есть скомпилированный байт-код. Теперь его нужно запустить. Здесь используется команда java, запускающая байт-код: На скриншоте видно, что в выводе получаем какие-то иероглифы: очевидно, это сбитая кодировка. Как правило это происходит в системе Windows. Для корректного отображения кириллицы в консоли, есть следующие команды: Они меняют текущую кодовую страницу командной консоли на время работы текущего окна. Попробуем еще раз: Это говорит приложение из командной строки. Знать принцип работы команды javac очень полезно, так как эта команда лежит в основе любой системы сборки проектов.

Компиляция и выполнение нескольких классов

Для работы с несколькими классами нужен classpath. Он похож на файловую систему, в которой содержатся классы, а функцию папок выполняют пакеты (packages). На этом этапе стоит задуматься об отделении файлов исходного кода от скомпилированных файлов. Как правило исходники находятся в каталоге src, а скомпилированные классы — в bin. Например, у нас есть класс Box и класс BoxMachine , в котором содержится метод main . Класс Box : Он находится в пакете src, это необходимо зафиксировать. Класс BoxMachine : Этот класс также находится в пакете src. В методе main он создает пять объектов класса Box разного размера и выводит в консоль информацию о них. Чтобы скомпилировать эту группу классов, необходимо из главного каталога (в котором лежат папки src и bin) использовать команду javac с аргументами: -d — флаг, после которого следует указать расположение, куда попадут скомпилированные классы. Это очень удобно, так как перекладывать, например, 1000 классов — очень трудоемкий процесс. bin — название папки. ./src/* — расположение исходных файлов. * указывает, что необходимо скомпилировать все файлы. Теперь скомпилированные классы появились в папке bin. Для их запуска используется команда java из той же директории, также с аргументами: -classpath — флаг, после которого следует указать местоположение скомпилированных классов. Java будет искать главный класс и все сопутствующие именно в этой директории. ./bin — название папки, в которой находятся скомпилированные классы. BoxMachine — название главного класса. Как и в первом случае, не следует указывать .class , так как это название класса, а не файла. Вывод:

Создание JAR-файлов

Чтобы программу было легко переносить и запускать, можно собрать скомпилированные классы в jar-файл — архив классов. Главное отличие от zip или rar-архивов — наличие файла манифеста. В этом манифесте указывается главный класс, который будет запускаться при выполнении jar-файла, classpath, а также много дополнительной информации. В главном каталоге создадим файл manifest.mf. Его содержимое будет следующим: main-class указывает класс, который содержит метод main и будет выполнен при запуске. class-path — путь к скомпилированным классам или дополнительным библиотекам. Настало время собрать настоящую программу без IDE с помощью команды jar: -cmf — флаг, после которого следует указать путь к файлу манифеста. manifest.mf — путь к манифесту. box-machine.jar — название выходного jar-файла. -С — флаг, после которого указывается путь к скомпилированным классам. . — путь, куда будет помещен jar-файл. В нашем случае —это главный каталог. Теперь можно запустить. Запуск jar-файлов выполняется также с помощью команды java, но следом нужно указать флаг -jar : он говорит о том, что запускается Jar-файл, а второй аргумент — путь к jar -файлу, включая расширение: Вывод:

Компиляция в Java без IDE: обзор систем сборок

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

Как скомпилировать Java?

Самые известные системы сборки на Java — это Ant, Maven и Gradle. Среди нет плохой или хорошей: каждая из них создана для решения определенных задач. Рассмотрим каждую из них подробнее.

  • mkdir — создание директорий
  • delete — удаление файлов и директорий
  • javac — компиляция Java–кода
  • java — запуск скомпилированного кода

Maven

Компиляция в Java - 3

Maven предлагает несколько другой подход к сборке проектов. Здесь разработчик скорее описывает свой проект и дополнительные инструменты, которые использует, в отличие от Ant, где сборка — это последовательность действий. Maven популярен среди разработчиков благодаря простому управлению зависимостями и удобной интеграции со всеми средами разработки. При работе с Maven придерживаются такой структуры проекта: Правила сборки, зависимости и прочее описывается в файле pom.xml. Как правило он находится в главной папке проекта. При запуске Maven проверяет структуру и синтаксис файла, предупреждая об ошибках. В главной директории рядом с папками bin и src создаем файл pom.xml, внутрь добавляем: Далее в командной строке выполняем команду mvn: Теперь в папке bin есть папка src, в которой находятся скомпилированные классы. В pom.xml в теге build определена цель сборки — компиляция, директории файлов исходного кода и результата компиляции, а также имя проекта. У Maven есть множество целей сборки и плагинов для запуска тестирования, создания Jar-файлов, сборки дистрибутивов и других задач.

Gradle

Это самая молодая система сборки, которая основывается на Ant и Maven. Главное отличие — работа на базе ациклического графа для определения порядка выполнения задач. Это очень полезно при более сложных задачах, например, инкрементальных и многопроектных сборках. При сборке с помощью Gradle также рекомендуется придерживаться структуры папок проекта Maven. Кстати, файл для сборки в Gradle он называется build.gradle и выглядит гораздо меньше, чем у Maven. Пример для наших классов: В файле происходит подключение плагинов, определение директории файлов исходного кода (если не используется структура проектов Maven), директория результатов сборки, имя главного класса, а также задачи по умолчанию. За запуск сборки отвечает команда gradle в директории, где лежит файл build.gradle:

Заключение

Компиляция в Java - 4

На первый взгляд, умение компиляции и сборки кода без IDE кажется бесполезным. Действительно, зачем мучиться с командными строками и гуглить все команды, когда есть уютная IDEшечка с плагинами, автопроверкой всего что можно (современные IDE разве что уровень IQ не проверяют) и интеграцией с популярными системами. Однако практика показывает, что умение собирать код без среды разработки и понимание каждого шага этого процесса — суровая необходимость. Этот навык сэкономит немало нервных клеток и времени вам и вашей компании. Освоить работу в IDE, попрактиковаться в написании кода и, конечно же, получить фундаментальные основы по программированию на Java вы можете здесь — на JavaRush. Пора вернуться к обучению :)

Поскольку это так, мы рассмотрим, как вы можете запустить чистый Jar-файл Java-приложения в Windows.

Как я могу запустить файл Jar в Windows 10?

  1. Добавить Java в Windows
  2. Откройте Jar-файл с помощью бинарного файла Java (TM) Platform SE
  3. Запустите файл JAR из командной строки Windows
  4. Добавить сторонний Jar Executor в Windows
  5. Загрузите этот инструмент, мы настоятельно рекомендуем

1. Добавить Java в Windows

  • Сначала откройте командную строку (Admin), нажав комбинацию клавиш Win + R и введя «cmd» в подсказке.
  • Затем введите «java -version» в командной строке и нажмите Enter. Затем он предоставит дополнительную информацию о вашей версии Java, как показано ниже.



Подробнее о том, как добавить последнюю версию Java в Windows 10, читайте в этой обновленной статье.

2. Откройте файл Jar с двоичным файлом Java (TM) Platform SE

  • В последней версии Java теперь вы можете запускать файлы Jar. Откройте проводник и папку с файлом, который вам нужен для запуска.
  • Вы должны щелкнуть правой кнопкой мыши файл Jar и выбрать Открыть с помощью в контекстном меню.
  • Нажмите Выберите другое приложение , а затем выберите, чтобы открыть его с помощью бинарного файла Java (TM) Platform SE .


Epic guide alert! Больше нет проблем с Проводником. Исправьте их все с помощью этого обширного руководства!

3. Запустите файл Jar из командной строки Windows

  • Кроме того, вы можете запустить Jar из командной строки. Нажмите клавишу Win + горячую клавишу X и выберите Командная строка (Администратор) , чтобы открыть ее как администратор.
  • Затем введите java j -jar c: pathtojarfile.jar ’в CP и нажмите Enter. Замените c: pathtojarfile.jar на фактический путь и заголовок файла Jar, который вам нужно запустить в Windows.


  • Кроме того, вы можете сначала открыть папку с Jar в командной строке, введя «cd /», а затем каталог. Затем вы можете ввести «java -jar file.jar» без указания пути к папке.

Это откроет исполняемый файл Jar, если он содержит файл манифеста для указания точки входа приложения. (Разработчики должны были уже включить это в архив.)

Если вы разрабатываете свои собственные программы на Java, вам необходимо преобразовать Jar в исполняемый формат.

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

4. Добавьте сторонний Jar Executor в Windows

Нажмите на файл jarx.exe, чтобы запустить программное обеспечение, которое на самом деле не имеет графического интерфейса пользователя (кроме окна About jarx). Затем вы можете дважды щелкнуть Jar-файлы, чтобы запустить их в Windows.

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

5. Загрузите этот инструмент, мы настоятельно рекомендуем

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

  • Загрузить сейчас FileViewer Plus 3

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

В этом уроке мы рассмотрим, как выполнять команды оболочки, файлы bat и sh на Java. Мы рассмотрим примеры для всех подходов exec() и ProcessBuilder.

Вступление

В этой статье мы рассмотрим, как мы можем использовать классы Runtime и ProcessBuilder для выполнения команд и сценариев оболочки с помощью Java.

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

Этот процесс также созрел для автоматизации. Нет необходимости запускать все вручную. Используя Java, мы можем запускать одну или несколько команд оболочки, выполнять сценарии оболочки, запускать терминал/командную строку, устанавливать рабочие каталоги и управлять переменными среды с помощью основных классов.

Время выполнения.exec()

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

Извлекая среду выполнения, связанную с нашим приложением, с помощью метода getRuntime () , мы можем использовать метод exec() для прямого выполнения команд или запуска файлов .bat /|. sh .

Метод exec() предлагает несколько перегруженных вариантов:

Стоит отметить, что эти процессы запускаются извне из интерпретатора и будут зависеть от системы.

Что также стоит отметить, так это разницу между Строковой командой и Строковой командой cmdArray[] . Они достигают одного и того же. Команда | в любом случае разбивается на массив, поэтому использование любого из этих двух должно привести к одинаковым результатам.

Вам решать, хотите ли вы использовать exec("директория/папка") или exec(новая строка[] .

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

Выполнение команды из строки

Давайте начнем с самого простого подхода из этих трех:

Запуск этого кода приведет к выполнению команды, которую мы предоставили в строковом формате. Однако мы ничего не видим, когда запускаем это.

Чтобы проверить, правильно ли это выполнено, мы захотим получить доступ к объекту process . Давайте воспользуемся BufferedReader , чтобы взглянуть на то, что происходит:

Теперь, когда мы запускаем этот метод после метода exec () , он должен дать что-то вроде:

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

Укажите рабочий каталог

Если вы хотите запустить команду, скажем, из определенной папки, мы бы сделали что-то вроде:

Здесь мы предоставили методу exec() команду , null для новых переменных среды и новый файл () , который установлен в качестве вашего рабочего каталога.

Стоит отметить добавление cmd/c перед такой командой, как dir .

Поскольку я работаю в Windows, это открывает cmd и /c выполняет последующую команду. В данном случае это реж. .

Причина, по которой это не было обязательным для примера ping , но является обязательным для этого примера, хорошо ответил пользователь SO.

Запуск предыдущего фрагмента кода приведет к:

Давайте посмотрим, как мы могли бы предоставить предыдущую команду в нескольких отдельных частях, а не в одной строке:

Запуск этого фрагмента кода также приведет к:

Какой из них вы хотели бы использовать, сводится только к тому, какой из них вы считаете более читабельным.

Использование Переменных Среды

Давайте посмотрим, как мы можем использовать переменные среды:

Мы можем предоставить столько переменных среды, сколько захотим, в строковом массиве. Здесь мы только что напечатали значение var1 , используя echo .

Выполнение этого кода вернет:

Запуск файлов .bat и .sh

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

В зависимости от вашей операционной системы вы будете использовать файлы .bat или|/. sh|/. Давайте создадим его с содержимым:

Git Essentials

Ознакомьтесь с этим практическим руководством по изучению Git, содержащим лучшие практики и принятые в отрасли стандарты. Прекратите гуглить команды Git и на самом деле изучите это!

Тогда давайте воспользуемся тем же подходом, что и раньше:

Это откроет командную строку и запустит файл .bat в заданном нами рабочем каталоге.

Запуск этого кода, несомненно, приведет к:

Теперь, когда все перегруженные exec() подписи устранены, давайте рассмотрим класс ProcessBuilder и то, как мы можем выполнять команды с его помощью.

Конструктор процессов

ProcessBuilder является базовым механизмом, который выполняет команды при использовании метода Runtime.getRuntime().exec() :

JavaDocs для Время выполнения класс

Взглянув на то, как ProcessBuilder принимает наши входные данные из метода exec() и запускает команду, мы также получаем хорошее представление о том, как ее использовать.

Он принимает строку [] cmdarray , и этого достаточно, чтобы запустить его. В качестве альтернативы мы можем предоставить ему дополнительные аргументы, такие как String[] envp и File dir .

Давайте рассмотрим эти варианты.

ProcessBuilder: Выполнение команды из строк

Вместо того, чтобы предоставлять одну строку , такую как cmd/c dir , в этом случае нам придется разбить ее. Например, если бы мы хотели перечислить файлы в C:/Users каталог, как и раньше, мы бы сделали:

Чтобы фактически выполнить Процесс , мы запускаем команду start() и присваиваем возвращаемое значение экземпляру Процесса .

Запуск этого кода приведет к:

Однако этот подход ничем не лучше предыдущего. Что полезно в классе ProcessBuilder , так это то, что он настраивается. Мы можем устанавливать вещи программно, а не только с помощью команд.

ProcessBuilder: Укажите рабочий каталог

Вместо того, чтобы указывать рабочий каталог с помощью команды, давайте установим его программно:

Здесь мы установили рабочий каталог таким же, как и раньше, но мы удалили это определение из самой команды. Выполнение этого кода даст тот же результат, что и в предыдущем примере.

ProcessBuilder: Переменные среды

Используя методы ProcessBuilder , легко получить список переменных среды в виде Карты . Также легко установить переменные среды, чтобы ваша программа могла их использовать.

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

Здесь мы упаковали возвращенные переменные среды в Map и запустили forEach() на нем, чтобы распечатать значения на нашей консоли.

Выполнение этого кода приведет к получению списка переменных среды, имеющихся на вашем компьютере:

Теперь давайте добавим переменную среды в этот список и будем использовать ее:

Запуск этого кода приведет к:

Конечно, как только программа завершит работу, эта переменная не останется в списке.

ProcessBuilder: Запуск файлов .bat и .sh

Если вы хотите снова запустить файл, мы просто предоставим экземпляру ProcessBuilder необходимую информацию:

Выполнение этого кода приводит к открытию командной строки и выполнению файла .bat .:

Вывод

В этой статье мы рассмотрели примеры выполнения команд оболочки на Java. Для этого мы использовали классы Runtime и ProcessBuilder .

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

Java - это кроссплатформенный язык программирования, благодаря которому программы, написанные один раз, можно запускать в большинстве операционных систем: в Windows, Linux и даже MacOS. И всё это без каких-либо изменений.

Но программы, написанные на Java, распространяются в собственном формате .jar, и для их запуска необходимо специальное ПО - Java-машина. В этой небольшой статье мы рассмотрим, как запустить jar-файл в Linux.

Как запустить jar Linux

Как я уже сказал, для запуска jar-файлов нам необходимо, чтобы на компьютере была установлена Java-машина. Если вы не собираетесь ничего разрабатывать, вам будет достаточно Java Runtime Environment или JRE. Что касается версии, то, обычно, большинство программ работают с 7 или 8 версией. Если нужна только восьмая, то разработчики прямо об этом сообщают. Посмотреть версию Java и заодно убедиться, что она установлена в вашей системе, можно с помощью команды:

У меня установлена восьмая версия, с пакетом обновлений 171. Если вы получаете ошибку, что команда не найдена, то это значит, что вам нужно установить java. В Ubuntu OpenJDK JRE можно установить командой:

Если вы хотите скомпилировать пример из этой статьи, то вам понадобиться не JRE, а JDK, её можно установить командой:

Чтобы узнать, как установить Java в других дистрибутивах, смотрите статью по ссылке выше. Когда Java будет установлена, вы можете очень просто запустить любой jar-файл в Linux, передав путь к нему в качестве параметра Java-машине. Давайте для примера создадим небольшое приложение:

public class Main public static void main(String[] args) System.out.println(" Losst test app! ");
>
>

Затем скомпилируем наше приложение в jar-файл:

javac -d . Main.java
jar cvmf MANIFEST.MF main.jar Main.class

Теперь можно запустить наш jar-файл командой java с параметром -jar:

java -jar main.jar

Таким образом вы можете запустить любой jar-файл, который собран для вашей версии Java. Но не очень удобно каждый раз открывать терминал и прописывать какую-либо команду. Хотелось бы запускать программу по щелчку мышки или как любую другую Linux-программу - по имени файла.

Если мы дадим программе право на выполнение:

chmod u+x ./main.jar

И попытаемся её запустить, то получим ошибку:

sudo apt install jarwrapper

Теперь можно запускать java в Linux по щелчку мыши или просто командой.

Выводы

В этой небольшой статье мы рассмотрели, как запустить jar Linux с помощью java-машины, а также как упростить команду запуска. Если у вас остались вопросы, спрашивайте в комментариях!

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Читайте также: