Come posso eseguire un file .jar dal terminale
So che per eseguire un file, uso il comando .
, poi il nome del file con uno spazio tra loro. Ma sto cercando di eseguire un file .jar usando il comando .
e non funziona. Sono andato nelle proprietà e l'ho contrassegnato come eseguibile e l'ho fatto eseguire con Java.
C'è un modo per eseguire un file con Java nel terminale Bash? Sto cercando di eseguire un file Minecraft.jar]1
Sto cercando di eseguire il file Minecraft.jar.
126
3
La sintassi
.
può essere usata solo per eseguire (tramite "sourcing") script di shell.Dovrai usare il comando
java
per eseguire un file.jar
:Se non hai installato java, puoi rimediare installando il pacchetto
default-jre
¹. Puoi vedere se hai già installato java eseguendo in un terminale:[1]: Questo installerà il runtime Java openjdk di default. Puoi usare
openjdk-8-jre
, oopenjdk-7-jre
, oopenjdk-6-jre
invece, se preferisci - quello che è disponibile nella tua versione di Ubuntu.Linux è perfettamente in grado di eseguire un binario estraneo, come un file JAR. Questo è il modo in cui funziona Wine, per esempio. Per eseguire i file JAR come eseguibili, fate come segue in una console
Cd al vostro file JAR e cambiatelo in eseguibile (potete anche farlo attraverso le proprietà del file in Nautilus)
Eseguite il vostro file jar come se fosse un qualsiasi altro eseguibile binario o script di shell
Nota: Assicuratevi di avere il modulo binfmt_misc del kernel linux caricato. Se usate il vostro kernel personalizzato compilato senza questo modulo, binfmt-support non funzionerà.
Se è un jar eseguibile, allora
Non tutti gli archivi jar contengono una classe eseguibile, dichiarata per essere avviata nel file Manifest, ma se c'è, questo funzionerà.
Btw.: Non si avvia la maggior parte dei programmi dalla shell con il punto. Il punto è una scorciatoia per
source
, e funziona solo nella bash e in alcune altre shell, per includere uno script nell'ambito della sessione corrente.Un binario compilato xybin è semplicemente avviato con il suo nome se è nel percorso:
oppure, con il suo percorso assoluto:
o con il suo percorso relativo:
o se vi capita di essere nella directory del file, con questo percorso relativo:
Il file deve essere segnato come eseguibile per voi (vedi: chmod). Tutto ciò è vero anche per gli shellscript, ma spesso hanno un'estensione .sh, e si può avviare uno shellscript invocando l'interprete, e quindi non ha bisogno di essere segnato come eseguibile:
Se non si vuole avviare una nuova bash, si può usare il sorgente, e lo si fa, per consumare definizioni di funzioni, alias e impostazioni di variabili.