How to set JAVA_HOME path on Ubuntu?
Solution 1
I normally set paths in
~/.bashrc
However for Java, I followed instructions at https://askubuntu.com/questions/55848/how-do-i-install-oracle-java-jdk-7
and it was sufficient for me.
you can also define multiple java_home's and have only one of them active (rest commented).
suppose in your bashrc file, you have
export JAVA_HOME=......jdk1.7
#export JAVA_HOME=......jdk1.8
notice 1.8 is commented. Once you do
source ~/.bashrc
jdk1.7 will be in path.
you can switch them fairly easily this way. There are other more permanent solutions too. The link I posted has that info.
Solution 2
add JAVA_HOME to the file:
/etc/environment
for it to be available to the entire system (you would need to restart Ubuntu though)
MChan
Updated on July 09, 2022Comments
-
MChan almost 2 years
How can I setup
JAVA_HOME
path without having to set it each time I restart my machine?I've used the following ways when trying to set JAVA_HOME on my Ubuntu machine:
1) From terminal I've executed the following command:
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0
2) I've edited the
/etc/enviroment
file directly to addJAVA_HOME
path in itWhat's really strange is that if I test
JAVA_HOME
using theecho
command after an of the above two ways, I can see it is set correctly, but if I restart, logout/ login again or even after working on the machine for a while theJAVA_HOME
is no more set and I have to set it again using any of the above two ways.So can someone please tell me what I am doing wrong here?
-
Falmarri almost 11 yearsYou should ask this on unix.stackexchange.com or askubuntu.com/
-
nachokk almost 11 yearsstackoverflow.com/questions/14119983/… may this help you
-
G. Sylvie Davies over 7 yearsecho 'export JAVA_HOME=`jrunscript -e '"'java.lang.System.out.println(java.lang.System.getProperty("'"java.home"));'"'"` >> ~/.bashrc
-
-
Sergio over 9 yearsit is NOT necessary to update ubuntu, after change the variable execute: $source /etc/environment , and done!
-
morgano over 9 years@Chechus you're right, but it would only update the environment of the command-line terminal where you execute
source /etc/environment
for the rest of the processes the environment won't change -
alvarez over 8 years@Sergio Sourcing /etc/environment must never be done. It's not a script file.
-
Oscar Reyes about 8 yearsi believe this would be better, as i don't have to define JAVA_HOME each time i boot ubuntu manually