What is the value of JAVA_HOME for CentOS?
Solution 1:
Actually I found it,
it's /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/
. I found out what it was by doing update-alternatives --display java
and it showed me the directory /usr/lib/jvm/jre-1.6.0-openjdk.x86_64/bin/java
Solution 2:
I'm not quite sure but if you install the normal RPMS the JAVA_HOME value can also be set to this:
/usr/java/default/
EDIT: I just checked on my home system. I have created this file:
/etc/profile.d/java.sh
That contains:
export JAVA_HOME=/usr/java/default/
and I'm using the official version from Sun: jdk-1.6.0_12-fcs
EDIT: Here is how I set up Java on my machine:
Install Java
Download and install Java JDK from Oracle
Make it primary
Ensure this Java is used instead of the OpenJDK version using the following two commands:
First
alternatives --install /usr/bin/java java /usr/java/default/bin/java 999999 \
--slave /usr/bin/keytool keytool /usr/java/default/bin/keytool \
--slave /usr/bin/rmiregistry rmiregistry /usr/java/default/bin/rmiregistry
Second
alternatives --install /usr/bin/javac javac /usr/java/default/bin/javac 999999 \
--slave /usr/bin/jar jar /usr/java/default/bin/jar \
--slave /usr/bin/rmic rmic /usr/java/default/bin/rmic
Set JAVA_HOME
Ensure all users have their JAVA_HOME environment variable set to the correct value:
echo "export JAVA_HOME=/usr/java/default/" > /etc/profile.d/java_home.sh
Solution 3:
You want to set JAVA_HOME to be the root location of the JDK or JRE, for example:
export JAVA_HOME=/usr/java/jdk1.3
If the JDK (Development kit) is installed, ypu probably want it to point to that, else use the JRE path (Java Runtime Environment). Then, you might want to set your $PATH environment variable to include the bin directory as well:
export PATH=$PATH:/usr/java/jdk1.3/bin
If you are using tomcat, you might also need to set CATALINA_HOME for the tomcat user.
export CATALINA_HOME=/path/to/tomcat
To set this for the system you want to edit your /etc/profile or add a .sh file in /etc/profile.d folder. For a particular user you can put it in the users ~/.profile or ~/.bash_profile files.
Solution 4:
Below is always working for me perfectly:
[user@base ~]$ locate bin/java
/usr/bin/java
/usr/bin/javac
/usr/bin/javadoc
/usr/bin/javaws
/usr/java/jdk1.6.0_31/bin/java
/usr/java/jdk1.6.0_31/bin/javac
/usr/java/jdk1.6.0_31/bin/javadoc
/usr/java/jdk1.6.0_31/bin/javah
/usr/java/jdk1.6.0_31/bin/javap
/usr/java/jdk1.6.0_31/bin/javaws
/usr/java/jdk1.6.0_31/jre/bin/java
/usr/java/jdk1.6.0_31/jre/bin/java_vm
/usr/java/jdk1.6.0_31/jre/bin/javaws
It means I can set JAVA_HOME as /usr/java/jdk1.6.0_31