Kaip paleisti .jar failą iš terminalo

Žinau, kad norėdamas paleisti failą, naudoju komandą ., tada failo pavadinimą ir tarp jų tarpą. Tačiau bandau paleisti .jar failą naudodamas . ir tai neveikia. Nuėjau į ypatybes ir pažymėjau jį kaip vykdytiną ir padariau, kad jis būtų paleistas su Java.

Ar yra koks nors būdas paleisti failą su "Java" Bash terminale?

Bandau įvykdyti Minecraft.jar failą.

Sprendimas

Sintaksė . gali būti naudojama tik apvalkalo scenarijams paleisti (naudojant "sourcing").

Norėdami paleisti .jar failą, turite naudoti java komandą:

java -jar Minecraft.jar

Jei neturite įdiegtos "java", galite tai išspręsti įdiegę default-jre¹ paketą. Ar jau turite įdiegtą java, galite patikrinti paleidę terminalą:

java -version 

[1]: Tai įdiegs numatytąją openjdk "Java" paleidimo sistemą. Jei pageidaujate, galite naudoti openjdk-8-jre, openjdk-7-jre arba openjdk-6-jre - priklausomai nuo to, kuri iš jų yra jūsų "Ubuntu" versijoje.

Komentarai (1)

"Linux" puikiai gali paleisti svetimą dvejetainį failą, pavyzdžiui, JAR failą. Pavyzdžiui, taip veikia "Wine". Norėdami paleisti JAR failus kaip vykdomąjį failą, konsolėje atlikite šiuos veiksmus

sudo apt-get install binfmt-support

Cd prie savo JAR failo ir pakeiskite jį į vykdomąjį (tai taip pat galite padaryti per failo savybes "Nautilus")

chmod a+rx myjar.jar

Paleiskite savo JAR failą taip, tarsi tai būtų bet kuri kita dvejetainė vykdomoji programa arba apvalkalo scenarijus

./myjar.jar

Pastaba: įsitikinkite, kad turite binfmt_misc Linux branduolio modulį. Jei naudosite savo sukompiliuotą branduolį be šio modulio, binfmt-support neveiks.

Komentarai (2)

Jei tai yra vykdomasis stiklainis, tada

java -jar Minecraft.jar 

Ne visuose jar archyvuose yra vykdomoji klasė, deklaruojama paleidimui Manifest faile, bet jei yra, tai veiks.

Btw.: daugumos programų iš apvalkalo nepaleidžiate su tašku. Taškas yra source trumpinys, ir jis veikia tik bash ir kai kuriose kitose kriauklėse, kad įtrauktų skriptą į dabartinės sesijos sritį.

Sukompiluotas dvejetainis kodas xybin tiesiog paleidžiamas su jo pavadinimu, jei jis yra kelyje:

xybin 

arba absoliučiu keliu:

/home/foo/proj/test/xybin

arba su santykiniu keliu:

proj/test/xybin

arba, jei atsitiktinai esate failo kataloge, su šiuo santykiniu keliu:

./xybin

Failas turi būti pažymėtas kaip vykdytinas (žr.: chmod). Visa tai, kas išdėstyta pirmiau, galioja ir apvalkalo scenarijams, tačiau jie dažnai turi plėtinį .sh, ir jūs galite paleisti apvalkalo scenarijų iškviesdami interpretatorių, tada jo nereikia pažymėti kaip vykdytino:

 bash xy.sh

Jei nenorite'paleisti naujo bash, galite naudoti šaltinį, ir tai padarysite, norėdami vartoti funkcijų apibrėžtis, slapyvardžius ir kintamųjų nustatymus.

Komentarai (0)