57

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 add JAVA_HOME path in it

What's really strange is that if I test JAVA_HOME using the echo 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 the JAVA_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?

3
  • 1
    You should ask this on unix.stackexchange.com or askubuntu.com/ Commented Jun 25, 2013 at 1:04
  • stackoverflow.com/questions/14119983/… may this help you Commented Jun 25, 2013 at 1:05
  • 1
    echo 'export JAVA_HOME=`jrunscript -e '"'java.lang.System.out.println(java.lang.System.getProperty("'"java.home"));'"'"` >> ~/.bashrc Commented Nov 1, 2016 at 19:05

2 Answers 2

47

add JAVA_HOME to the file:

/etc/environment

for it to be available to the entire system (you would need to restart Ubuntu though)

Sign up to request clarification or add additional context in comments.

4 Comments

it is NOT necessary to update ubuntu, after change the variable execute: $source /etc/environment , and done!
@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
@Sergio Sourcing /etc/environment must never be done. It's not a script file.
i believe this would be better, as i don't have to define JAVA_HOME each time i boot ubuntu manually
45

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.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.