How to Set Java Home on CentOS

Set up your CentOS system so that your Java applications know exactly where to find the executable files and libraries they need to run. If you have root or administrator privileges, set the $JAVA_HOME variable to Java's directory location for all users system-wide. If you only need to set the path for your non-root, user sessions, add the path information to your personal Bash shell profile.

Computer crime concept
Some Java programs use the JAVA_HOME variable to find the Java Runtime Environment.
credit: scyther5/iStock/Getty Images

Set JAVA_HOME System-Wide

Step

Start a root terminal session and then change directories to the /usr/lib/jvm folder. If you prefer, you can also log in to your system as root.

Step

Display the folder's contents by typing the following command at the Bash shell prompt and then pressing "Enter:"

Step

ls -l

Step

The listing will show several symbolic links and a single folder that contains your Java package files. The Java folder installed on CentOS 7 systems may have a name resembling the following:

Step

java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

The full path to this folder, however, will be:

Step

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

Type the Bash shell Export command that will set the $JAVA_HOME variable to the Java folder's full path and then press "Enter." Your command should resemble the following:

Step

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

If you type "echo $JAVA_HOME" (without the quotes) at the command line and press "Enter", the shell will display the JAVA_HOME path. The path change will be lost when you reboot, however, unless you add the change to the system profile located in the /etc folder.

Step

Switch directories to /etc and then open the "profile" text file using an editor like Vi, Emacs or Nano. The profile text file contains system-wide bash shell commands, parameters and variable available to all users.

Step

Scroll to a blank line near the bottom of the file, type the same Export command you entered at the shell prompt, save the file and then exit your editor. When you or another user logs in to a CentOS session, the JAVA_HOME variable will be set.

JAVA_HOME for Single Users

Step

Launch the file manager and then navigate to the /usr/lib/jvm folder. The file manager should display the icons for one folder and several symbolic links.

Step

Select the folder and then press "Ctrl-C" to copy it to the clipboard. One item the clipboard will contain is the full directory path to the Java folder.

Step

As a normal, non-root user, launch Gedit and then open the ".bash_profile" text file located in your Home folder. Settings included in the .bash_profile are set every time you log in to your system.

Step

Click a blank line near the bottom of the file and then press "Ctrl-V" to paste Java folder's full path. The pasted line should resemble the following:

Step

file:///usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

To put the path in a format you can use, however, delete the "file://" section. The result should resemble the following

Step

/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

Add the Bash shell export command to this line that assigns the path to $JAVA_HOME, save your changes, and then exit Gedit. The final path command in your .bash_profile should resemble the following line:

Step

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el7_0.x86_64

Step

Log out of your CentOS session and then log back on set the $JAVA_HOME variable to Java's current location.