Kako lahko izvedem datoteko .jar iz terminala

Vem, da za izvršitev datoteke uporabim ukaz ., nato ime datoteke in med njima presledek. Vendar poskušam z ukazom . izvršiti datoteko .jar in ne deluje. Šel sem v lastnosti in jo označil kot izvršljivo ter poskrbel, da se zažene z Javo.

Ali obstaja način, da v terminalu Bash izvedem datoteko z Javo?

Poskušam izvesti datoteko Minecraft.jar.

Rešitev

Sintaksa . se lahko uporablja samo za zagon (s "črpanjem") skript lupine.

Za zagon datoteke .jar morate uporabiti ukaz java:

java -jar Minecraft.jar

Če nimate nameščene jave, lahko to popravite z namestitvijo paketa default-jre¹. Če imate javo že nameščeno, lahko preverite, če jo zaženete v terminal:

java -version 

[1]: To bo namestilo privzeto izvajalno okolje Java openjdk. Namesto tega lahko uporabite openjdk-8-jre ali openjdk-7-jre ali openjdk-6-jre, če vam je ljubše - odvisno od tega, kaj je na voljo v vaši različici Ubuntuja.

Komentarji (1)

Operacijski sistem Linux je popolnoma sposoben zagnati tujo binarno datoteko, na primer datoteko JAR. Tako na primer deluje Wine. Če želite zagnati datoteke JAR kot izvršne datoteke, v konzoli naredite naslednje

sudo apt-get install binfmt-support

Cd na svojo datoteko JAR in jo spremenite v izvršljivo (to lahko storite tudi prek lastnosti datoteke v programu Nautilus)

chmod a+rx myjar.jar

Zaženite svojo datoteko jar, kot da bi bila katerakoli druga binarna izvedljiva datoteka ali lupinska skripta

./myjar.jar

Opomba: Prepričajte se, da imate naložen modul binfmt_misc linuxovega jedra. Če uporabljate po meri sestavljeno jedro brez tega modula, binfmt-support ne bo deloval.

Komentarji (2)

Če je to izvedljivi kozarec, potem

java -jar Minecraft.jar 

Vsi arhivi jar ne vsebujejo izvedljivega razreda, ki je deklariran za zagon v datoteki Manifest, če pa ga vsebuje, bo to delovalo.

Btw.: Večine programov iz lupine ne zaženete s piko. Pika je bližnjica za source in deluje le v lupini bash in nekaterih drugih lupinah za vključitev skripte v obseg trenutne seje.

Sestavljeni binarni program xybin se preprosto zažene s svojim imenom, če je v poti:

xybin 

ali z njeno absolutno potjo:

/home/foo/proj/test/xybin

ali z relativno potjo:

proj/test/xybin

ali če ste v imeniku datoteke, s to relativno potjo:

./xybin

Datoteka mora biti za vas označena kot izvršljiva (glejte: chmod). Vse zgoraj navedeno velja tudi za skripte lupine, vendar imajo pogosto končnico .sh in skript lupine lahko zaženete tako, da prikličete prevajalnik, in potem ni treba, da je označen kot izvršljiv:

 bash xy.sh

Če ne želite zaganjati novega basha, lahko uporabite izvorno kodo in to tudi storite, da porabite definicije funkcij, vzdevke in nastavitve spremenljivk.

Komentarji (0)