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?


  • 2
    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. Oct 28 '13 at 5:40

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.

  • 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. Oct 24 '14 at 19:14
  • 1
    Also works for tomcat8, just replace tomcat7 strings by tomcat8.
    – nachtigall
    Mar 9 '17 at 11:04

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
  • 3
    This conflicts with package default-jre-headless
    – Tino
    Feb 6 '16 at 0:56

Open terminal


Copy the result. Then

sudo -H gedit /etc/default/tomcat7

Replace #JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk with the output you copied from $JAVA_HOME.


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


then run command

sudo service tomcat7 restart

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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