Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have installed tomcat7 (using apt-get install) and whenever I want to start tomcat7 it says :

* no JDK found - please set JAVA_HOME

I have set JAVA_HOME in my bash.bashrc and also in ~/.bashrc and when I issue echo $JAVA_HOME I clearly see that this variable is pointing to my jdk's root folder. Can someone help me with this please?


share|improve this question
This helped me to find where I can tell tomcat7 what JDK to use. – icedwater Jul 23 '13 at 4:00
Same here. Now I know where tomcat looks for JAVA_HOME. – slayedbylucifer Oct 28 '13 at 5:40
up vote 57 down vote accepted

You can try this:

Just press Ctrl+Alt+T on your keyboard to open Terminal. When it opens, run the command below.

gksudo gedit /etc/default/tomcat7

When the file opens, uncomment the line that sets the JAVA_HOME variable.

enter image description here

Save and restart tomcat7 server.

share|improve this answer
Note that upgrading to JDK 7 will break this answer. Using a symbolic link without the version number will allow upgrades without invalidating environment variables. – Dave Jarvis Oct 24 '14 at 19:14

Tomcat will not actually use your JAVA_HOME environmente variable, but look in some predefined locations and in the JAVA_HOME variable set inside the startup script, as other answers point out. If you don't like messing with the tomcat startup script, you could create a symlink for your preferred java installation, which will be picked up by tomcat.

For example:

ln -s /usr/lib/jvm/java-8-oracle /usr/lib/jvm/default-java
share|improve this answer
This conflicts with package default-jre-headless – Tino Feb 6 at 0:56
Did this and it worked, thank you. – Sabuncu Apr 8 at 11:47

Hit Ctrl+Alt+T to open terminal and run:

sudo gedit /etc/default/tomcat7

Find commented JAVA_HOME, uncomment and change the directory to your JDK environment. No need to restart, and then it's done!

share|improve this answer

Just add following line in /etc/default/tomcat7 at where JAVA_HOME variable is defined


then run command

sudo service tomcat7 restart
share|improve this answer

Best Answer:

open terminal


copy the result. Then

sudo gedit /etc/default/tomcat7

replace inside gedit #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk to the one you copy from


share|improve this answer

Adding to the answer of Mitch (the accepted answer above), check your /usr/lib/jvm/ directory. Usually, java is installed there itself.

You might have oracle java installed or you might have a latest version of java installed. Just checkout the directories at /usr/lib/jvm/ and add the one your java is in.

For me, it was:


So, replace




did the job for me.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.