Come posso eseguire un file .jar dal terminale


124

So che per eseguire un file, uso il .comando, quindi il nome del file con uno spazio tra di loro. Ma sto cercando di eseguire un file .jar usando il .e non funziona. Sono entrato nelle proprietà e l'ho contrassegnato come eseguibile e l'ho fatto funzionare con Java.

C'è un modo per eseguire un file con Java nel Terminale Bash ? Sto cercando di eseguire un file Minecraft.jar

Sto cercando di eseguire il file Minecraft.jar.


4
Ciao e benvenuto, jaorizabal. Ho leggermente corretto la tua domanda. Forse puoi installare un correttore ortografico per il tuo browser, per migliorare tu stesso la prossima domanda. Un altro suggerimento: per problemi di testo, è possibile contrassegnare il testo con il mouse nel terminale, quindi incollarlo nel campo di modifica del browser (e altrove) con un clic centrale sulla rotella di scorrimento. Quindi puoi layout il tuo codice con i pulsanti nel campo di modifica. Questo è molto più veloce che scattare una schermata e caricarla.
utente sconosciuto

Risposte:


200

La .sintassi può essere utilizzata solo per eseguire (tramite "sourcing") script di shell.

Dovrai utilizzare il javacomando per eseguire un .jarfile:

java -jar Minecraft.jar

Se non hai Java installato, puoi risolverlo installando il default-jrepacchetto ¹. Puoi vedere se hai già installato Java eseguendo in un terminale:

java -version 

[1]: verrà installato il runtime Java openjdk predefinito. Puoi usare openjdk-8-jre, o openjdk-7-jre, openjdk-6-jreinvece, se preferisci - qualunque sia disponibile sulla tua versione di Ubuntu.


$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T,

31

Linux è perfettamente in grado di eseguire un binario esterno, come un file JAR. Ecco come funziona Wine, per esempio. Per eseguire i file JAR come eseguibili, procedi come segue in una console

sudo apt-get install binfmt-support

Cd nel tuo file JAR e modificalo in eseguibile (puoi anche farlo attraverso le proprietà del file in Nautilus)

chmod a+rx myjar.jar

Esegui il tuo file jar proprio come se fosse qualsiasi altro eseguibile binario o script di shell

./myjar.jar

Nota: assicurarsi di avere caricato il modulo del kernel linux binfmt_misc . Se usi il tuo kernel compilato personalizzato senza questo modulo, binfmt-support non funzionerà.


1
Grazie! Questo e 'esattamente quello che stavo cercando. È meglio che usare java -jar perché non richiede che il programma host sappia che si tratta di un programma java, ed è meglio che usare uno script perché non devi preoccuparti di passare da STDIN a OUT.
srlm

2
Non funziona su Debian 9: "file non valido (numero magico errato): errore formato Exec"
Paul

16

Se è un vaso eseguibile, allora

java -jar Minecraft.jar 

Non tutti gli archivi jar contengono una classe eseguibile, dichiarata avviata nel file manifest, ma se esiste, 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.

Una xybin binaria compilata viene semplicemente avviata con il suo nome se si trova nel percorso:

xybin 

o, con il suo percorso assoluto:

/home/foo/proj/test/xybin

o con il relativo percorso:

proj/test/xybin

o se ti trovi nella directory del file, con questo percorso relativo:

./xybin

Il file deve essere contrassegnato come eseguibile per te (vedi: chmod). Tutto quanto sopra è vero anche per gli script di shell, ma spesso hanno un'estensione .sh e puoi iniziare uno shellscript invocando l'interprete, quindi non è necessario contrassegnarlo come eseguibile:

 bash xy.sh

Se non vuoi iniziare un nuovo bash, puoi usare source, e lo fai, per usare definizioni di funzioni, alias e impostazioni variabili.


7

Potresti anche voler fare una bella voce per l'applicazione in Unity. eseguire i seguenti comandi:

gedit ~/.local/share/applications/minecraft.desktop

Nella finestra che si apre, copia e incolla quanto segue:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

Potrebbe essere necessario disconnettersi e riconnettersi per vedere gli effetti. :) Inoltre, devi cercare su Internet una bella icona di Minecraft poiché non forniscono uno con il download ..


4
  1. Apri un prompt dei comandi con CTRL+ ALT+T
  2. Vai alla tua directory di file ".jar". Se la tua versione / sapore di Ubuntu lo supporta, dovresti essere in grado di fare clic destro sulla directory del tuo file ".jar" e fare clic su "Apri in Terminale"
  3. Digita il seguente comando:

    java -jar jarfilename.jar

In questo modo verrà eseguito il file ".jar".


4

Installa jarwrapper. Successivamente (e aggiungendo il bit eseguibile) è possibile avviare il file jar semplicemente inserendo il nome del file jar.

sudo apt-get install jarwrapper

Funziona usando binfmtper aggiungere il supporto per un nuovo formato binario al kernel.



-1

se si desidera installare il proprio vaso con una versione specifica di Java Specificare anche la directory java

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.