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.
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.
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.
Č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.