Ubuntu: How can I execute a .jar file from the terminal



Question:

I know that to execute a file, I use the . command, then the file name with a space between them. But I'm trying to execute a .jar file using the . and it does not work. I went into the properties and marked it as executable and made it run with Java.

Is there a way to execute a file with Java in the Bash Terminal? I am trying to execute a Minecraft.jar file

I am trying to execute the Minecraft.jar file.


Solution:1

The . syntax can only be used to run (by "sourcing") shell scripts.

You'll need to use the java command to run a .jar file:

java -jar Minecraft.jar  

If you don't have java installed, you can fix that by installing the default-jre¹ package. You can see if you already have java installed by running in a terminal:

java -version   

[1]: This will install the default openjdk Java runtime. You can use openjdk-8-jre, or openjdk-7-jre, or openjdk-6-jre instead, if you prefer - whichever is available on your version of Ubuntu.


Solution:2

Linux is perfectly capable of running a foreign binary, like a JAR file. This is how Wine works, for example. To run JAR files as executable do the following in a console

sudo apt-get install binfmt-support  

Cd to your JAR file and change it to executable (you can also do this through file properties in Nautilus)

chmod a+rx myjar.jar  

Run your jar file just as if it was any other binary executable or shell script

./myjar.jar  


Solution:3

If it is an executable jar, then

java -jar Minecraft.jar   

Not all jar-Archives contain an executable class, declared to be started in the Manifest file, but if there is, this will work.

Btw.: You don't start most programs from the shell with the dot. The dot is a shortcut for source, and it only works in the bash and some other shells, to include a script in the scope of the current session.

A compiled binary xybin is simply started with its name if it is in the path:

xybin   

or, with its absolute path:

/home/foo/proj/test/xybin  

or with its relative path:

proj/test/xybin  

or if you happen to be in the directory of the file, with this relative path:

./xybin  

The file has to be marked executable for you (see: chmod). All of the above is true for shellscripts too, but they often have an extension .sh, and you can start a shellscript by invoking the interpreter, and then it needn't be marked executable:

 bash xy.sh  

If you don't want to start a new bash, you can use source, and you do so, to consume function definitions, aliases and variable settings.


Solution:4

You might as well want to make a nice entry for the application in Unity. execute the following commands:

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

In the window that pops up, copy and paste the following:

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

You might need to log out and back in to see the effects. :) Also you need to search the internet for a nice lookin Minecraft icon since they don't provide one with the download..


Solution:5

  1. Open a command prompt with CTRL+ALT+T
  2. Go to your ".jar" file directory. If your Ubuntu version / flavour supports it, you should be able to right click on your ".jar" file's directory and click "Open in Terminal"
  3. Type the following command:

    java -jar jarfilename.jar  

This way your ".jar" file will execute.


Solution:6

 java -jar /home/username/.minecraft/launcher.jar  


Solution:7

if u want to install your jar with specific java version Specify the java directory also

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

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »