Hoe kan ik een .jar bestand uitvoeren vanaf de terminal
Ik weet dat om een bestand uit te voeren, ik het .
commando gebruik, dan de bestandsnaam met een spatie ertussen. Maar ik probeer een .jar bestand uit te voeren met de .
en het werkt niet. Ik ging naar de eigenschappen en markeerde het als uitvoerbaar en liet het lopen met Java.
Is er een manier om een bestand uit te voeren met Java in de Bash Terminal? Ik probeer een Minecraft.jar bestand uit te voeren]1
Ik probeer het Minecraft.jar bestand uit te voeren.
126
3
De
.
syntaxis kan alleen worden gebruikt om (door "sourcing") shell scripts te draaien.Je moet het
java
commando gebruiken om een.jar
bestand te draaien:Als je geen
java
geïnstalleerd hebt, kun je dat oplossen door hetdefault-jre
¹ pakket te installeren. Je kunt zien of je java al geïnstalleerd hebt door het in een terminal uit te voeren:[1]: Dit zal de standaard openjdk Java runtime installeren. U kunt
openjdk-8-jre
, ofopenjdk-7-jre
, ofopenjdk-6-jre
in plaats daarvan gebruiken, als u dat verkiest - welke ook beschikbaar is op uw versie van Ubuntu.Linux is perfect in staat om een vreemde binary, zoals een JAR-bestand, te draaien. Dit is bijvoorbeeld hoe Wine werkt. Om JAR bestanden als uitvoerbaar bestand te draaien doe je het volgende in een console
Cd naar je JAR bestand en verander het in uitvoerbaar (je kunt dit ook doen via bestandseigenschappen in Nautilus)
Voer je jar-bestand uit alsof het een ander binair uitvoerbaar bestand of shell script was
Opmerking: Zorg ervoor dat u binfmt_misc linux kernel module geladen hebt. Als u uw eigen gecompileerde kernel gebruikt zonder deze module, zal binfmt-support'niet werken.
Als het een uitvoerbaar potje is, dan
Niet alle jar-Archives bevatten een uitvoerbare klasse, die in het Manifest-bestand wordt gedeclareerd om te worden gestart, maar als die er is, zal dit werken.
Btw.: De meeste programma's start je niet vanuit de shell met de punt. De punt is een snelkoppeling voor
source
, en het werkt alleen in de bash en sommige andere shells, om een script op te nemen in de scope van de huidige sessie.Een gecompileerd binair xybin wordt gewoon gestart met zijn naam als het in het pad staat:
of, met zijn absolute pad:
of met het relatieve pad:
of als je toevallig in de directory van het bestand bent, met dit relatieve pad:
Het bestand moet gemarkeerd zijn als uitvoerbaar voor jou (zie: chmod). Al het bovenstaande geldt ook voor shellscripts, maar die hebben vaak een extensie .sh, en je kunt een shellscript starten door de interpreter aan te roepen, en dan hoeft het niet als uitvoerbaar gemarkeerd te worden:
Als je geen nieuwe bash wilt starten, kun je source gebruiken, en dat doe je, om functiedefinities, aliassen en variabele instellingen te consumeren.