Как запустить jar в Linux
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-машине. Давайте для примера создадим небольшое приложение:
Источник
Как создать и выполнить файл .Jar в терминале Linux
JAR (Java ARchive) – это независимый от платформы формат файла, используемый для объединения многих файлов классов Java и связанных с ними метаданных и ресурсов, таких как текст, изображения и т. д., в один файл для распространения.
Он позволяет Java-средам эффективно разворачивать целое приложение в одном архиве и предоставляет множество преимуществ, таких как безопасность, его элементы могут быть сжаты, сокращено время загрузки, позволяетcz уплотнение пакетов и управление версиями, поддерживает переносимость.
Он также поддерживает упаковку для расширений.
В этой статье мы покажем, как создать простое приложение Java и связать его с JAR-файлом и продемонстрируем, как выполнить файл .jar из терминала Linux.
Для этого у вас должен быть установлен инструмент командной строки java для запуска приложения Java и флаг -jar для выполнения программы, инкапсулированной в файл JAR.
Когда этот флаг используется, указанный JAR-файл является источником всех пользовательских классов, а другие параметры пути класса игнорируются.
Как создать JAR-файл в Linux
1. Сначала начните с написания простого Java-класса с основным методом для приложения TecmintApp для демонстрационных целей.
Скопируйте и вставьте следующий код в файл TecmintApp.java.
Сохраните файл и закройте.
2. Затем нам нужно скомпилировать и упаковать класс в JAR-файл, используя утилиты javac и jar, как показано ниже:
3. Создана Ounce tecmint app.jar, теперь вы можете выполнить файл с помощью команды java, как показано ниже:
Из вывода приведенной выше команды видно, что мы столкнулись с ошибкой. JVM (Java Virtual Machine) не смог найти наш основной атрибут, поэтому он не смог найти основной класс, содержащий основной метод (public static void main (String [] args)).
Файл JAR должен иметь манифест, содержащий строку в форме Main-Class: classname, которая определяет класс с основным методом, который служит отправной точкой нашего приложения.
4. Чтобы исправить вышеуказанную ошибку, нам нужно будет обновить JAR-файл, чтобы включить атрибут манифеста вместе с нашим кодом.
Давайте создадим файл MANIFEST.MF.
Скопируйте и вставьте следующую строку в файл MANIFEST.MF.
Сохраните файл и добавьте файл MANIFEST.MF в наш tecmintapp.jar, используя следующую команду:
5. Наконец, когда мы снова выполним файл JAR, он должен предоставить нам ожидаемый результат, как показано на выводе:
Для получения дополнительной информации см. Man-страницы java, javac и jar.
Источник
Как запустить .jar файл?
Я никак не могу понять как запускать .jar файлы, через «Открыть с помощью» я Java не нашел в списке, хотя у меня установлен, а в списке нет, только могу открыть архиватором, а запустить не могу. Или опять в эти «терминалы» нужно лезть?
можно прописать команду java -jar
Заверни в баш-скрипт вида:
Если jar-файл подготовлен специальным образом, можно через -jar , как посоветовали выше.
Если разработчик не озаботился пакетированием приложения для твоих нужд, то да: в терминалы.
А нельзя по легче как-то? На вендоус всё таки всё нормально должно работать, а тут фигня какая-то примитивная.
Не примитивная, а профессиональная 😉 Ну и ничего не мешает перекинуть ассоциацию с архиватора на яву.
Так там нет Java, можно ещё какую через «Использовать команду» как-то наверное запустить, но там ничего не работает. Может нужно установить OpenJDK 10?
UPD: увидел в тегах xfce
Или опять в эти «терминалы» нужно лезть?
Зачем тебе линукс и вообще комп, если не любишь «терминалы». Купи себе планшет на андроиде и тыкай в него до опупения, они специально для таких сделаны.
Разобрался!
Я установил OpenJDK 10 и теперь мождно открыть используя это.
На вендоус всё таки всё нормально должно работать, а тут фигня какая-то примитивная.
Ты просто абсолютизируешь свои привычки. Это как если бы ты купил дорогой фотоаппарат, тушка отдельно, объектив отдельно. При этом там надо выдержку настраивать, диафрагму, освещение оценивать. И тут ты думаешь: «на фотике в моём смартфоне всё таки всё нормально должно работать, а тут фигня какая-то примитивная».
Терминал даёт НАМНОГО БОЛЬШЕ возможностей. В том числе, да, можно написать скрипт и вызывать его потом по ярлычку мышкой, как ты любишь.
А то, что в винде по умолчанию одним кликом можно запускать любое дерьмище — это, конечно, офигенная фича, которую очень любят авторы троянов, ведь их можно маскировать под картинки, музыку, скринсейверы. Большинство пользователей Windows не задумываются, что скринсейвер — это в первую очередь программа.
Источник
Как я могу выполнить файл .jar из терминала
Я знаю, что для выполнения файла я использую . команду, затем имя файла с пробелом между ними. Но я пытаюсь выполнить файл .jar с помощью, . и он не работает. Я вошел в свойства и отметил его как исполняемый файл и заставил его работать с Java.
Есть ли способ выполнить файл с Java в Bash Terminal?
Я пытаюсь выполнить файл Minecraft.jar.
. Синтаксис может быть использован только для запуска (от «источников») сценариев оболочки.
Вам нужно будет использовать java команду для запуска .jar файла:
Если у вас не установлена Java, вы можете это исправить, установив default-jre пакет ¹. Вы можете увидеть, если у вас уже установлена Java, запустив в терминале:
[1]: Это установит стандартную среду исполнения openjdk Java. Вы можете использовать openjdk-8-jre , или openjdk-7-jre , или openjdk-6-jre вместо этого, если хотите, — то, что доступно в вашей версии Ubuntu.
Linux вполне способен запускать чужой двоичный файл, такой как файл JAR. Так работает Wine, например. Чтобы запустить JAR-файлы как исполняемые, выполните в консоли следующее
Перейдите в файл JAR и измените его на исполняемый (вы также можете сделать это через свойства файла в Nautilus)
Запустите ваш JAR-файл так же, как если бы это был любой другой двоичный исполняемый файл или скрипт оболочки
Примечание. Убедитесь, что у вас загружен модуль ядра binfmt_misc . Если вы используете ваше собственное скомпилированное ядро без этого модуля, binfmt-support не будет работать.
Если это исполняемый файл jar, то
Не все jar-архивы содержат исполняемый класс, объявленный для запуска в файле манифеста, но если он есть, это будет работать.
Кстати: вы не запускаете большинство программ из оболочки с точкой. Точка является ярлыком для source , и она работает только в bash и некоторых других оболочках, чтобы включить скрипт в область текущего сеанса.
Скомпилированный двоичный xybin просто запускается с его именем, если он находится в пути:
или с его абсолютным путем:
или с его относительным путем:
или, если вы оказались в каталоге файла, с этим относительным путем:
Файл должен быть помечен как исполняемый для вас (см .: chmod). Все вышесказанное верно и для сценариев оболочки, но они часто имеют расширение .sh, и вы можете запустить сценарий оболочки, вызвав интерпретатор, и тогда его не нужно отмечать исполняемым:
Если вы не хотите запускать новый bash, вы можете использовать исходный код и использовать его для определения функций, псевдонимов и настроек переменных.
Источник
Как запустить jar в Linux
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 можно установить командой:
sudo apt install openjdk-8-jre
Если вы хотите скомпилировать пример из этой статьи, то вам понадобиться не JRE, а JDK, её можно установить командой:
sudo apt install openjdk-8-jdk-headless
Чтобы узнать, как установить 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
И попытаемся её запустить, то получим ошибку:
Чтобы её исправить, нам понадобиться пакет jarwrapper:
sudo apt install jarwrapper
Теперь можно запускать java в Linux по щелчку мыши или просто командой.
Выводы
В этой небольшой статье мы рассмотрели, как запустить jar Linux с помощью java-машины, а также как упростить команду запуска. Если у вас остались вопросы, спрашивайте в комментариях!
Источник