I want to run my Tomcat with Java 7 but all I found about configuring it doesn't work. The management interface of Tomcat shows 1.6.0_24-b24 as Java version. The JAVA_HOME variable is empty.

% echo $JAVA_HOME

I understand that in this case Tomcat uses the system default Java, which should be 7.

% java -version
java version "1.7.0_09"
OpenJDK Runtime Environment (IcedTea7 2.3.3) (7u9-2.3.3-0ubuntu1~12.04.1)
OpenJDK 64-Bit Server VM (build 23.2-b09, mixed mode)

I changed it with update-alternatives.

What part of the configuration am I missing?

  • 1
    The command update-java-alternatives will update all java related alternatives.
    – jordanm
    Nov 2 '12 at 2:51
  • Did do it. Sadly no changes :-( Nov 2 '12 at 10:22

Finally found the right configuration file my self. It is /etc/default/tomcat. There I was able to set


and it works now.

Thanks for the help.

  • Yup, this is right. On most systems, you don't have access to the tomcat user in a way you can set JAVA_HOME. You have two choices: change the Java in use by the whole system to a single one or tweak it the way you show here. Jul 12 '13 at 15:48

export JAVA_HOME=/path/to/your/java/environment Then run tomcat.

You can do this in the users .bash_profile as well.

  • 1
    This doesn't work either. Set it to /usr/lib/jvm/java-1.7.0-openjdk-amd64 which is now shown by echo $JAVA_HOME as well as sudo -u tomcat7 echo $JAVA_HOME. Tomcat still starts with the wrong version. Nov 2 '12 at 10:24
  • I can confirm that this does not help. Even if you put JAVA_HOME=your new java in the /etc/environment and reboot, and do the alternatives thing, tomcat still picks up the old version. Jun 15 '16 at 15:40

I had the same issue. I am using tomcat 9. I decided to define the configurations in catalina.sh.

This is however for *nix

$ cd /apache-tomcat-9.0.21/bin/
$ vim catalina.sh


ensure to restart your tomcat

$ ./startup.sh
  • 2
    Modifying catalina.sh is not a good idea (it might get overwritten by an upgrade). Create a setenv.sh file in the same directory (it is sourced by catalina.sh whenever present). Aug 30 at 9:17

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.