Как запустить java на linux

Как запустить Java из командной строки в Linux

FavoriteДобавить в избранное

Главное меню » Программирование » Java » Как запустить Java из командной строки в Linux

Чему должны научиться Java-разработчики в 2021 году

Язык Java – один из самых популярных объектно-ориентированных языков программирования высокого уровня. Он имеет простой синтаксис и легко понятен новичкам, так как он очень безопасен и экономичен в использовании. Java – это программное обеспечение, не зависящее от платформы, и оно также предоставляет средство автоматической сборки мусора.

Как запустить Java из командной строки

Чтобы запустить java-программу в Linux, нам нужно проверить, доступен ли Java Development Kit (JDK) в системе и его версию.

Чтобы подтвердить это, введите следующую команду:

( Инструмент командной строки Javac используется для компиляции программ Java)

Инструмент командной строки Javac недоступен в моей системе. У нас есть несколько команд для его загрузки, как указано на изображении выше.

Давайте воспользуемся командой default-jdk, чтобы получить это:

Чтобы проверить установку javac , введите:

Теперь напишите программу на Java в текстовом файле и сохраните ее с расширением .java .

Предположим, я создал файл с именем « testing.java » и написал в нем простую программу:

(Имейте в виду, что имя вашего класса должно совпадать с именем файла)

Скомпилируйте файл testing.java на терминале с помощью команды javac :

Теперь запустите программу Java, вызвав ее имя класса в терминале:

Заключение

Java – это язык высокого уровня современной эпохи, поддерживаемый Java Development Kit (JDK). JDK – это пакет, который помогает запускать java и используется для разработки пакетов программного обеспечения.

Язык Java имеет простой синтаксис, который легко освоить новичкам, и это один из наиболее используемых объектно-ориентированных языков программирования.

В этой статье мы видели, как устанавливать и запускать Java-приложения на терминале.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Как запустить приложение Java на определенном мониторе?

У меня есть ноутбук с подключенным внешним монитором, так что на самом деле у меня два дисплея (с разными разрешениями, но, думаю, разрешение не имеет значения).

Когда я запускаю приложение Java (в моем случае Supermicro IPMIView), кажется, что приложение пытается вычислить размеры и поместить себя в какую-то центральную область экрана. Фактически, я вижу окно приложения, разделенное на две части — одну на первом мониторе и одну на второй. Эта проблема возникает только с приложениями Java.

Можно ли как-то заставить Java разместить свое окно на определенном мониторе (или, скажем, на любом мониторе, но только на одном мониторе одновременно)?

Java для Linux – загрузка и установка всех версий

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

Возможности Java

Java – популярный язык программирования. На нем разработано тысячи приложений.

Чтобы Джава корректно работала в ОС Linux, следует инсталлировать два программных модуля – JRE и JDK.

Предназначение:

  • JRE – среда, позволяющая запускать программные продукты, которые написаны на языке Java.
  • JDK – пакет, предназначенный для создания программ. В модуль входят компилятор, документация по языку, библиотека стандартных классов и т. д.

Пакеты JRE и JDK в первую очередь понадобятся тем, кто решил разработать собственное ПО. Также язык Джава будет полезен рядовым пользователям. Ведь программные продукты, написанные на рассматриваемом ЯП, попросту не запускаются без установленных пакетов Runtime Environment и Development Kit (к примеру, Майнкрафт).

Системные требования

Системные требования зависят от версии программных пакетов. К примеру, Джава 8 работает на Ubuntu 12.04 и выше. А 7-я модификация программного обеспечения от Oracle поддерживается версией Убунту 10.04 и ниже.

Минимальные требования:

Операционная система Linux: Oracle, Red Hat Enterprise,
Suse Enterprise Server, Ubuntu
Браузер Firefox 3.6 и выше

Скачать Java

Скачать все версии Java для Linux можно на официальном сайте компании Oracle.

Программные пакеты Runtime Environment и Development Kit распространяются по свободной лицензии. А это значит, что скачать их на Linux можно бесплатно.

На сайте представлено 4 установочных файла:

  • Линукс RPM – модификация с поддержкой RPM для 32-разрядной системы;
  • Линукс – модификация для 32-разрядной системы;
  • Линукс x64 – модификация для 64-разрядной системы;
  • Линукс x64 RPM – модификация с поддержкой RPM для 64-разрядной системы.

Инструкция по установке на Linux

В операционной системе Linux установка Java не займет много времени. ПО можно инсталлировать, прописав в терминале пару команд.

  1. Перейдите в директорию, в которую нужно инсталлировать программу. Для этого используйте команду cd. папка для установки Java в Linux
  2. Переместите скачанный архив в текущую директорию.
  3. Распакуйте архив, используя команду tar zxvf имя_файла. После завершения модули Runtime Environment и Development Kit инсталлируются в автоматическом режиме. распаковка архива jre.tar.gz в Линуксе

Процесс установки Джавы на базе RPM немного отличается:

  1. Перейдите в режим рут-пользователя. Для этого задействуйте команду su и после этого укажите пароль от учетной записи с особыми правами. переход в root-режим в Linux
  2. Удалите из системы ранние версии Джавы. Задействуйте команду rpm с параметром -e. Устанавливать утилиту rpm нужно отдельно.
  3. Перейдите в директорию, в которую нужно установить программу. Для этого используйте команду cd.
  4. Распакуйте архив командой rpm с параметром -ivh. После завершения модули JRE и JDK инсталлируются в автоматическом режиме. установка Java в Линукс на базе RPM

Как обновить Java на Linux

Чтобы иметь на компьютере последнюю модификацию JDK и JRE, регулярно обновляйте программные пакеты. Последняя версия Джавы доступна на нашем сайте.

Стоит отметить, что системой предусмотрено автоматическое обновление JDK и JRE. Однако можно инсталлировать последнюю версию Джавы вручную:

Как запустить java приложение на linux. Запуск Java классов и JAR-ов не по учебнику

Меня давно занимала мысль как в Linux-е запускать программы на Java без вспомогательных Bash скриптов. Я не видел приемлемого решения, если не считать способ «bash script payload», когда в конец скрипта помещается бинарный файл.

Но на прошлой неделе случайно наткнулся на модуль ядра binfmt_misc, с помощью которого можно перехватить исполнение файла по его magic number. Для этого через update-binfmts добавляется собственный обработчик для получения имени исполняемого файла и аргументов пользователя.

Первое открытие

Update-binfmts —display . jar (enabled): package = openjdk-8 type = magic offset = 0 magic = PK\x03\x04 mask = interpreter = /usr/bin/jexec detector =
Отдав команду chmod +x foo.bar я радостно потирал руки, но реальность оказалось сурова — запуск ./foo.jar выдал следующее:

Invalid file (bad magic number): Exec format error
Погуглив, я нашел обросший мхом баг bugs.java.com/bugdatabase/view_bug.do?bug_id=6401361 Как оказывается сборка через Maven не добавляет «0xcafe» в начало JAR файла. Не менее безответственно ведет себя и плагин maven-assembly-plugin. Что не нравится /usr/bin/jexec, зарегистрированному обработчику по умолчанию.

Погуглив еще, я нашел решение проблемы через установку пакета jarwrapper. После установки добавляется новый обработчик /usr/bin/jarwrapper и страховка /usr/bin/jardetector (проверяет по META-INF что это действительно JAR). Но изучив код обработчика мне не понравилась куча лишней работы, которую делает скрипт запуская множество вспомогательных программ.

Поэтому решением стал собственный обработчик:

#!/bin/sh #/usr/bin/jarinvoke JAR=$1 shift exec java -jar $JAR [email protected]
Дальше открываем файл sudo gedit /var/lib/binfmts/jar и регистрируем обработчик заменив строчку с /usr/bin/jexec на /usr/bin/jarinvoke. На самом деле это плохое решение и лучше создать собственную группу (об этом ниже), но для первичного понимания сойдет.

Для вступления изменений в силу может потребоваться выполнить:

Sudo update-binfmts —disable jar && sudo update-binfmts —enable jar
После чего можете запускать JAR файлы как любые другие исполняемые файлы.

Исполняемые классы

#!/bin/sh # /usr/bin/clsinvoke CLASS_FILE=$1 shift ABSOLUTE_PATH=`readlink -f $CLASS_FILE` CLASS=`basename $ABSOLUTE_PATH` CLASS=$ CLASSPATH=`dirname $ABSOLUTE_PATH` exec java -cp $CLASSPATH $CLASS [email protected]
После чего регистрируем собственный обработчик (этим же способом можно создать новый обработчик для JAR-ов не редактируя /usr/bin/jexec):

Sudo update-binfmts —package clsinvoke —install clsinvoke /usr/bin/clsinvoke —magic «\xca\xfe\xba\xbe»
Тестируем:

Public class HelloWorld >
javac HellWorld.java chmod +x HelloWorld.class ./HelloWorld.class Hello, World
Можно пойти и дальше, сделав более сложный обработчик, который по импорту классов будет определять какие библиотеки добавить в CLASSPATH из

/.m2, но это отдельная история. Сейчас интересен взгляд со стороны, замечания, дополнения, если таковые есть. После чего думаю оформить это в deb пакет и выложить всё на гитхабе.

Меня давно занимала мысль как в Linux-е запускать программы на Java без вспомогательных Bash скриптов. Я не видел приемлемого решения, если не считать способ «bash script payload», когда в конец скрипта помещается бинарный файл.

Но на прошлой неделе случайно наткнулся на модуль ядра binfmt_misc, с помощью которого можно перехватить исполнение файла по его magic number. Для этого через update-binfmts добавляется собственный обработчик для получения имени исполняемого файла и аргументов пользователя.

Первое открытие

Update-binfmts —display . jar (enabled): package = openjdk-8 type = magic offset = 0 magic = PK\x03\x04 mask = interpreter = /usr/bin/jexec detector =
Отдав команду chmod +x foo.bar я радостно потирал руки, но реальность оказалось сурова — запуск ./foo.jar выдал следующее:

Invalid file (bad magic number): Exec format error
Погуглив, я нашел обросший мхом баг bugs.java.com/bugdatabase/view_bug.do?bug_id=6401361 Как оказывается сборка через Maven не добавляет «0xcafe» в начало JAR файла. Не менее безответственно ведет себя и плагин maven-assembly-plugin. Что не нравится /usr/bin/jexec, зарегистрированному обработчику по умолчанию.

Погуглив еще, я нашел решение проблемы через установку пакета jarwrapper. После установки добавляется новый обработчик /usr/bin/jarwrapper и страховка /usr/bin/jardetector (проверяет по META-INF что это действительно JAR). Но изучив код обработчика мне не понравилась куча лишней работы, которую делает скрипт запуская множество вспомогательных программ.

Поэтому решением стал собственный обработчик:

#!/bin/sh #/usr/bin/jarinvoke JAR=$1 shift exec java -jar $JAR [email protected]
Дальше открываем файл sudo gedit /var/lib/binfmts/jar и регистрируем обработчик заменив строчку с /usr/bin/jexec на /usr/bin/jarinvoke. На самом деле это плохое решение и лучше создать собственную группу (об этом ниже), но для первичного понимания сойдет.

Для вступления изменений в силу может потребоваться выполнить:

Sudo update-binfmts —disable jar && sudo update-binfmts —enable jar
После чего можете запускать JAR файлы как любые другие исполняемые файлы.

Исполняемые классы

#!/bin/sh # /usr/bin/clsinvoke CLASS_FILE=$1 shift ABSOLUTE_PATH=`readlink -f $CLASS_FILE` CLASS=`basename $ABSOLUTE_PATH` CLASS=$ CLASSPATH=`dirname $ABSOLUTE_PATH` exec java -cp $CLASSPATH $CLASS [email protected]
После чего регистрируем собственный обработчик (этим же способом можно создать новый обработчик для JAR-ов не редактируя /usr/bin/jexec):

Sudo update-binfmts —package clsinvoke —install clsinvoke /usr/bin/clsinvoke —magic «\xca\xfe\xba\xbe»
Тестируем:

Public class HelloWorld >
javac HellWorld.java chmod +x HelloWorld.class ./HelloWorld.class Hello, World
Можно пойти и дальше, сделав более сложный обработчик, который по импорту классов будет определять какие библиотеки добавить в CLASSPATH из

/.m2, но это отдельная история. Сейчас интересен взгляд со стороны, замечания, дополнения, если таковые есть. После чего думаю оформить это в deb пакет и выложить всё на гитхабе.

У меня проблема с файлами.jar, дважды щелкнув их. Когда я перехожу к диалогу свойств, я не могу найти Java-only Archive Manager в списке программ. Но -jar somefile.jar открывает программу.

Related of «Как запустить файл.jar с помощью двойного щелчка?»

Возможно, у вас нет установленной среды выполнения!

Чтобы установить его, попробуйте выполнить следующие инструкции.

Sudo apt-get install openjdk-7-jre

Или вы можете установить Oracle JRE с использованием метода PPA со следующими командами.

Sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-jre sun-java6-plugin sun-java6-fonts

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

  1. Щелкните правой кнопкой мыши файл.jar> Свойства.
  2. Нажмите на вкладку «Открыть с» вверху.
  3. Измените выбор по умолчанию как Sun Java 6 Runtime.
  4. Нажмите «Закрыть», и вы должны быть готовы к двойному щелчку.

Чтобы сделать Java открытым.jar-файлы по умолчанию (т.е. дважды щелкните), щелкните правой кнопкой мыши на любом файле.jar, чтобы выбрать « Свойства» . В следующем окне выберите вкладку «Открыть с», чтобы увидеть, например, следующий выбор:

Выберите время выполнения Java и нажмите Установить по умолчанию, чтобы это приложение по умолчанию открывало файлы.jar.

Добавление файла с именем /usr/share/applications/java.desktop со следующим содержимым должно сделать трюк.

Name=Java Comment=Java GenericName=Java Keywords=java Exec=java -jar %f Terminal=false X-MultipleArgs=false Type=Application MimeType=application/x-java-archive StartupNotify=true

После добавления этого файла вы сможете найти запись под названием Java в Open file with. -Dialog

ЗАЯВКА НА ЗАЯВКУ

После установки среды выполнения Java вы можете создать значок запуска, как и другие приложения в системе, создав файл *.desktop .
Это делает вещи проще и красивее!

Создайте папку в каталоге по вашему выбору с файлами *.jar (приложение) и *.png (значок приложения). В этом случае я буду использовать каталог /usr/share/folder . Для

/folder это хорошая идея назвать ее именем приложения, например, если приложение VUE называет папку

Откройте терминал и запустите следующую строку кода:

Sudo mkdir /usr/share/folder

Или откройте диспетчер файлов (в этом случае Nautilus) с привилегиями супер администратора, запустив следующую строку кода в терминале:

После этого перейдите в /usr/share и создайте folder с графическим интерфейсом.

Также в терминале и выполните следующую строку кода:

Gksu gedit /usr/share/applications/*.desktop

(Вы могли бы использовать ваш редактор по выбору. В этом случае использовался Gedit .)

Вставьте следующие строки кода в редактируемый файл:

Encoding=UTF-8 Name=Name Categories=Category Name Exec=java -jar /usr/share/folder/*.jar Icon=/usr/share/folder/*.png StartupNotify=false Terminal=false Type=Application Comment=Application Name StartupWMClass=Class MimeType=application/*

Сохраните файл. (* Всегда одно и то же имя.)

ИСПОЛНЕНИЕ ПРИЛОЖЕНИЯ

Для размеров значков Linux поддерживает различные форматы изображений (PNG, JPG, SVG и т. Д.) И размеры (16×16

512×512 px). Вы можете использовать файл PNG размером 32×32

96×96 пикселей или файл SVG размером 128×128

512×512 пикселей для получения лучших результатов. В этом случае я думаю, что PNG размером 96×96 пикселей достаточно для красивого рабочего стола / Dash.

  • Спросите Ubuntu – Почему некоторые иконы имеют столько разных размеров?
  • Разработчик Gnome – виды иконок

АССОЦИАЦИЯ ФАЙЛОВ

Для этого шага вам нужно создать MIME Tipe , если он не существует, и связать его с приложением в файле mimeapps.list . Для этого взгляните на следующее:

  • Спросите Ubuntu – Как я могу общаться с ассоциацией файлов в разных приложениях (не в Nautilus)?

Примечание. Если вы найдете что-то неправильное, не стесняйтесь редактировать и исправлять. Благодаря!

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

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