Как мога да изпълня .jar файл от терминала

Знам, че за да изпълня файл, използвам командата ., след това името на файла с интервал между тях. Но се опитвам да изпълня .jar файл, като използвам командата . и не се получава. Влязох в свойствата и го маркирах като изпълним и го накарах да се стартира с Java.

Има ли начин да изпълня файл с Java в терминала Bash?

Опитвам се да изпълня файла Minecraft.jar.

Решение

Синтаксисът . може да се използва само за стартиране (чрез "снабдяване") на шел скриптове.

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

java -jar Minecraft.jar

Ако нямате инсталирана java, можете да поправите това, като инсталирате пакета default-jre¹. Можете да проверите дали вече имате инсталирана java, като стартирате в терминала:

java -version 

[1]: Това ще инсталира Java runtime по подразбиране openjdk. Ако предпочитате, можете да използвате openjdk-8-jre или openjdk-7-jre, или openjdk-6-jre вместо това - според това, което е налично във вашата версия на Ubuntu.

Коментари (1)

Linux е напълно способна да стартира чужд двоичен файл, например JAR файл. Ето как работи Wine, например. За да стартирате JAR файлове като изпълними, направете следното в конзолата

sudo apt-get install binfmt-support

Cd до вашия JAR файл и го променете на изпълним (можете да направите това и чрез свойствата на файла в Nautilus)

chmod a+rx myjar.jar

Стартирайте вашия jar файл, както ако беше всеки друг двоичен изпълним файл или shell скрипт

./myjar.jar

Забележка: Уверете се, че имате зареден модул binfmt_misc на ядрото на Linux. Ако използвате компилирано от вас ядро без този модул, binfmt-support няма да работи.

Коментари (2)

Ако това е изпълним буркан, тогава

java -jar Minecraft.jar 

Не всички jar-архиви съдържат изпълним клас, обявен за стартиране във файла Manifest, но ако има такъв, това ще работи.

Btw.: Повечето програми не се стартират от шела с точката. Точката е пряк път за source и работи само в bash и някои други шелове, за да включи даден скрипт в обхвата на текущата сесия.

Компилиран двоичен файл xybin просто се стартира с името си, ако е в пътя:

xybin 

или с абсолютния му път:

/home/foo/proj/test/xybin

или с относителния му път:

proj/test/xybin

или ако се намирате в директорията на файла, с този относителен път:

./xybin

Файлът трябва да бъде маркиран като изпълним за вас (вижте: chmod). Всичко гореизложено е вярно и за шелскриптовете, но те често имат разширение .sh и можете да стартирате шелскрипт, като извикате интерпретатора, и тогава не е необходимо той да бъде маркиран като изпълним:

 bash xy.sh

Ако не искате да стартирате нов bash, можете да използвате source и го правите, за да консумирате дефиниции на функции, псевдоними и настройки на променливи.

Коментари (0)