¿Cómo puedo ejecutar un archivo .jar desde la terminal?

124

Sé que para ejecutar un archivo, utilizo el .comando, luego el nombre del archivo con un espacio entre ellos. Pero estoy tratando de ejecutar un archivo .jar usando .y no funciona. Entré en las propiedades y lo marqué como ejecutable y lo hice correr con Java.

¿Hay alguna manera de ejecutar un archivo con Java en la Terminal Bash ? Estoy tratando de ejecutar un archivo Minecraft.jar

Estoy tratando de ejecutar el archivo Minecraft.jar.

jaorizabal
fuente
44
Hola y bienvenidos, jaorizabal. He corregido un poco tu pregunta. Tal vez pueda instalar un corrector ortográfico para su navegador, para mejorar la siguiente pregunta usted mismo. Otra sugerencia: para problemas de texto, puede marcar el texto con el mouse en el terminal y luego pegarlo en el campo de edición de su navegador (y en cualquier otro lugar) con un clic central en la rueda de desplazamiento. Luego puede diseñar su código con los botones en el campo de edición. Esto es mucho más rápido que tomar una captura de pantalla y cargarla.
usuario desconocido

Respuestas:

200

La .sintaxis solo se puede usar para ejecutar (por "abastecimiento") scripts de shell.

Deberá usar el javacomando para ejecutar un .jararchivo:

java -jar Minecraft.jar

Si no tiene Java instalado, puede solucionarlo instalando el default-jrepaquete ¹. Puede ver si ya tiene Java instalado ejecutándose en una terminal:

java -version 

[1]: Esto instalará el tiempo de ejecución de Java openjdk predeterminado. Puede usar openjdk-8-jreo openjdk-7-jre, o en su openjdk-6-jrelugar, si lo prefiere, lo que esté disponible en su versión de Ubuntu.

Jeremy Kerr
fuente
$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T
31

Linux es perfectamente capaz de ejecutar un binario extraño, como un archivo JAR. Así es como funciona Wine, por ejemplo. Para ejecutar archivos JAR como ejecutables, haga lo siguiente en una consola

sudo apt-get install binfmt-support

Cd a su archivo JAR y cámbielo a ejecutable (también puede hacerlo a través de las propiedades del archivo en Nautilus)

chmod a+rx myjar.jar

Ejecute su archivo jar como si fuera cualquier otro ejecutable binario o script de shell

./myjar.jar

Nota: Asegúrese de tener cargado el módulo kernel linux binfmt_misc . Si usa su núcleo compilado personalizado sin este módulo, binfmt-support no funcionará.

David
fuente
1
¡Gracias! Esto es exactamente lo que estaba buscando. Es mejor que usar java -jar porque no requiere que el programa host sepa que es un programa java, y es mejor que usar un script porque no tiene que preocuparse por pasar STDIN y OUT.
srlm
2
No funciona en Debian 9: "archivo no válido (número mágico incorrecto): error de formato de
Paul
16

Si es un jar ejecutable, entonces

java -jar Minecraft.jar 

No todos los archivos jar contienen una clase ejecutable, declarada como iniciada en el archivo Manifiesto, pero si la hay, funcionará.

Por cierto: no inicia la mayoría de los programas desde el shell con el punto. El punto es un acceso directo para source, y solo funciona en bash y algunos otros shells, para incluir un script en el alcance de la sesión actual.

Un xybin binario compilado simplemente se inicia con su nombre si está en la ruta:

xybin 

o, con su ruta absoluta:

/home/foo/proj/test/xybin

o con su ruta relativa:

proj/test/xybin

o si te encuentras en el directorio del archivo, con esta ruta relativa:

./xybin

El archivo debe estar marcado como ejecutable para usted (consulte: chmod). Todo lo anterior también es cierto para shellscripts, pero a menudo tienen una extensión .sh, y puede iniciar un shellscript invocando al intérprete, y luego no necesita ser marcado como ejecutable:

 bash xy.sh

Si no desea iniciar un nuevo bash, puede usar la fuente, y lo hace, para consumir definiciones de funciones, alias y configuraciones de variables.

usuario desconocido
fuente
7

Es posible que desee hacer una buena entrada para la aplicación en Unity. ejecuta los siguientes comandos:

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

En la ventana emergente, copie y pegue lo siguiente:

[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;

Es posible que deba cerrar sesión y volver a iniciarla para ver los efectos. :) También debes buscar en Internet un bonito icono de Minecraft ya que no proporcionan uno con la descarga.

Gladen
fuente
4
  1. Abra un símbolo del sistema con CTRL+ ALT+T
  2. Vaya a su directorio de archivos ".jar". Si su versión / sabor de Ubuntu lo admite, debería poder hacer clic derecho en el directorio de su archivo ".jar" y hacer clic en "Abrir en la Terminal"
  3. Escriba el siguiente comando:

    java -jar jarfilename.jar

De esta forma se ejecutará su archivo ".jar".

víbora
fuente
4

Instalar jarwrapper. Después de eso (y agregando el bit ejecutable) puede iniciar el archivo jar simplemente ingresando el nombre del archivo jar.

sudo apt-get install jarwrapper

Esto funciona mediante el uso binfmtde agregar soporte para un nuevo formato binario al núcleo.

Pacto de Thomas
fuente
3
 java -jar /home/username/.minecraft/launcher.jar
antecristo
fuente
-1

si desea instalar su jar con una versión específica de Java Especifique también el directorio de Java

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Rohan Gala
fuente