Як я можу виконати .jar файл з терміналу


123

Я знаю, що для виконання файлу я використовую .команду, потім ім'я файлу з пробілом між ними. Але я намагаюся виконати .jar файл за допомогою. .І він не працює. Я зайшов у властивості та позначив його як виконуваний файл і змусив його працювати з Java.

Чи є спосіб виконати файл з Java в терміналі Bash ? Я намагаюся виконати файл Minecraft.jar

Я намагаюся виконати файл Minecraft.jar.


4
Привіт і ласкаво просимо, jaorizabal. Я трохи виправив ваше запитання. Можливо, ви можете встановити перевірку орфографії для свого браузера, щоб самостійно покращити наступне питання. Ще одна підказка. Щодо текстових проблем, ви можете позначити текст мишею в терміналі, а потім вставити його в поле редагування вашого браузера (та в інших місцях) середнім клацанням на колесі прокрутки. Потім ви можете розмістити свій код за допомогою кнопок у полі редагування. Це набагато швидше, ніж робити знімок екрана та завантажувати його.
користувач невідомий

Відповіді:


199

.Синтаксис може бути використаний тільки для запуску (від «джерел») сценаріїв оболонки.

Вам потрібно буде використовувати javaкоманду для запуску .jarфайлу:

java -jar Minecraft.jar

Якщо у вас не встановлено Java, ви можете це виправити, встановивши default-jreпакет ¹. Ви можете побачити, чи вже у вас встановлений Java, запустивши в терміналі:

java -version 

[1]: Це встановить стандартну тривалість виконання Java Openjdk за замовчуванням. Ви можете використовувати openjdk-8-jreабо openjdk-7-jre, або openjdk-6-jreзамість цього, якщо хочете - те, що є у вашій версії Ubuntu.


$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Картік Т

31

Linux цілком здатний запускати іноземний бінарний файл, наприклад, файл JAR. Так працює, наприклад, Wine. Щоб запустити файли JAR як виконувані, виконайте наступне в консолі

sudo apt-get install binfmt-support

Перейдіть до файлу JAR та змініть його на виконуваний файл (ви також можете це зробити за допомогою властивостей файлу в Nautilus)

chmod a+rx myjar.jar

Запустіть файл jar так само, як якщо б це був будь-який інший двійковий виконуваний сценарій або оболонку

./myjar.jar

Примітка. Переконайтеся, що ви завантажили модуль ядра binfmt_misc linux. Якщо ви використовуєте власне скомпільоване ядро ​​без цього модуля, підтримка binfmt не працюватиме.


1
Дякую! Це саме те, що я шукав. Це краще, ніж використовувати java -jar, оскільки для нього не потрібна хост-програма, щоб вона знала, що це програма java, і це краще, ніж використовувати сценарій, тому що вам не доведеться турбуватися про проходження через STDIN та OUT.
srlm

2
Не працює на Debian 9: "недійсний файл (неправильне магічне число): помилка формату Exec"
Павло

16

Якщо це виконувана банка, то

java -jar Minecraft.jar 

Не всі jar-Archives містять виконуваний клас, оголошений для запуску у файлі Manifest, але якщо є, це буде працювати.

Btw .: Ви не запускаєте більшість програм із оболонки з крапкою. Крапка - це ярлик для source, і вона працює лише в bash та деяких інших оболонках, щоб включити сценарій в обсяг поточного сеансу.

Скомпільований бінарний ксибін просто починається зі свого імені, якщо він знаходиться на шляху:

xybin 

або, з його абсолютним шляхом:

/home/foo/proj/test/xybin

або з його відносним шляхом:

proj/test/xybin

або якщо ви потрапили в каталог файлу, таким відносним шляхом:

./xybin

Файл повинен бути позначений виконавчим для вас (див.: Chmod). Все вищесказане справедливо і для оболонок сценаріїв, але вони часто мають розширення .sh, і ви можете запустити оболонку оболонки, посилаючись на інтерпретатора, і тоді її не потрібно позначати виконуваним:

 bash xy.sh

Якщо ви не хочете запускати нову програму bash, ви можете використовувати джерело та це робите для використання визначень функцій, псевдонімів та параметрів змінних.


7

Ви також можете зробити хороший запис для програми в Unity. виконайте такі команди:

gedit ~/.local/share/applications/minecraft.desktop

У вікні, що з'явиться, скопіюйте та вставте наступне:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

Можливо, вам потрібно буде вийти з системи та знову увійти, щоб побачити ефекти. :) Також вам потрібно шукати в Інтернеті гарний вигляд піктограми Minecraft, оскільки вони не забезпечують завантаження.


4
  1. Відкрийте командний рядок за допомогою CTRL+ ALT+T
  2. Перейдіть до каталогу файлів ".jar". Якщо ваша версія / аромат Ubuntu підтримує його, ви маєте змогу клацнути правою кнопкою миші по каталогу файлу ".jar" і натиснути "Відкрити в терміналі"
  3. Введіть таку команду:

    java -jar jarfilename.jar

Таким чином ваш файл ".jar" виконає.


4

Встановіть jarwrapper. Після цього (і додавши біт, що виконується) ви можете запустити файл jar просто ввівши ім'я jarfile.

sudo apt-get install jarwrapper

Це працює, використовуючи binfmtдля додавання ядра підтримку нового бінарного формату.



-1

якщо ви хочете встановити свою банку з певною версією Java, також вкажіть каталог java

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.