How to Run Jar Files in Linux
Java Archive (JAR) files are a crucial part of Java applications, as they package all the necessary components, such as classes, images, and metadata, into a single, compressed file. Running JAR files on Linux systems is a straightforward process, but it requires some basic knowledge of the command line and Java runtime environment. In this comprehensive guide, we will walk you through the steps to run JAR files on Linux, including prerequisites, command-line execution, making JAR files executable, running them with a double-click (GUI), and automating their execution. By the end of this article, you will have a solid understanding of how to run JAR files on your Linux system effectively.
Prerequisites for Running JAR Files
In order to execute JAR files on Linux, the Java Runtime Environment (JRE) needs to be installed. The JRE provides a minimal set of requirements for running Java applications, including the Java Virtual Machine (JVM), core class libraries, and other components.
Most mainstream Linux distributions like Ubuntu, Debian, Fedora, openSUSE, etc. have package repositories that contain JRE packages, making the installation process straightforward. Specific instructions for installing the JRE on popular distros are covered later in this guide.
Once you have the JRE set up on your system, you can then use either the command line terminal or graphical user interfaces to launch JAR files. The method you use depends on your comfort level with the Linux shell and personal preferences.
Installing Java Runtime Environment on Linux
Here are step-by-step instructions for installing JRE on some of the most widely-used Linux distributions:
Installing JRE on Ubuntu and Debian
To set up JRE on Ubuntu or related Debian-based distros like Linux Mint, follow this process using the apt
package manager:
sudo apt install default-jre
Verify that the JRE is installed properly by checking its version:
java -version
This outputs details about the installed JRE and confirms it is correctly set up.
Installing JRE on openSUSE
For openSUSE Leap/Tumbleweed installations, here is how JRE can be set up:
sudo zypper install java-11-openjdk
Confirm a suitable JRE is now active:
java -version
Installing JRE on Other Linux Distributions
For other distros, search their package repositories for available JRE/JDK packages. Some options are:
- On MX Linux, use:
sudo apt install default-jre
- On Kali Linux, use:
sudo apt install default-jre
- On CentOS, use:
sudo yum install java-11-openjdk
- On AlmaLinux, use:
sudo dnf install java-latest-openjdk
- On RHEL, enable the EPEL repository and use:
sudo yum install java-11-openjdk
This covers the installation process for most common Linux distributions. Now we can move on to actually running JAR files.
Running JAR Files via Command Line
Once JRE is installed, JAR files can be executed from the terminal using the java
command. Here is the basic syntax:
java -jar <name-of-jar-file>
For example, to launch a file called app.jar
, use:
java -jar app.jar
The file needs to have executable permissions for this to work. To avoid permissions errors, set permissions before running the JAR:
chmod +x app.jar java -jar app.jar
Some additional options you can pass to java -jar
:
- To set the maximum Java heap size (2GB in this example):
java -jar -Xmx2G app.jar
- To see JAR verification warnings:
java -jar -Xverify:none app.jar
- To disable Java cache when launching JAR:
java -jar -Xint app.jar
- To run the JAR file silently in the background instead of spawning a new window:
java -jar app.jar &
This covers the key things you need to know to launch JAR files from the command line terminal on Linux.
Running JAR Files via Graphical User Interfaces
Running JAR files with a double-click in a graphical user interface (GUI) requires configuring file associations. File associations tell your Linux desktop environment which application to use when opening a specific file type. To associate JAR files with the Java runtime in popular Linux desktop environments, follow these steps:
GNOME (Ubuntu, Fedora)
- Right-click on a JAR file and select “Properties”.
- In the “Open With” tab, click on “Add”.
- Select “OpenJDK Java Runtime” or “Oracle Java Runtime” from the list of applications.
- Click “Add” and then “Set as default”.
- Close the Properties window.
KDE (Kubuntu, KDE Neon)
- Right-click on a JAR file and select “Properties”.
- In the “General” tab, click on the “File Type Options” button.
- In the “Application Preference Order” section, click on “Add”.
- Select “OpenJDK Java Runtime” or “Oracle Java Runtime” from the list of applications.
- Click “OK” and then “Apply”.
- Close the Properties window.
After configuring file associations, you can double-click on a JAR file to run it using the Java runtime.
Desktop Launchers
Another approach is using menu launchers that let you create shortcuts to run JAR files, similar to Windows .exe or Linux .desktop files. For example in KDE Plasma, you can:
- Right-click the JAR file and create a launcher.
- Check “Run in terminal” option if you want terminal output.
- Launch the JAR by double-clicking the launcher icon.
GNOME, Xfce, and other desktops have similar functionality to generate launchers.
Conclusion
Running JAR files on Linux systems is a straightforward process that can be accomplished through various methods, including the command line, GUI, and automated execution. By following the steps and best practices outlined in this guide, you can effectively run JAR files on your Linux system and troubleshoot common issues that may arise. Remember to ensure JAR file portability, optimize execution with JVM arguments and leverage the power of IDEs for development and testing. With this knowledge, you can confidently deploy and run Java applications on Linux systems.