4

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?

jordanm
  • 41,988
  • 9
  • 116
  • 113
André Stannek
  • 1,258
  • 2
  • 10
  • 17

3 Answers3

4

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

JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64

and it works now.

Thanks for the help.

André Stannek
  • 1,258
  • 2
  • 10
  • 17
  • 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. – Russ Bateman Jul 12 '13 at 15:48
0

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

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

Mark Cohen
  • 1,352
  • 9
  • 12
  • 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. – André Stannek Nov 02 '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. – John Little Jun 15 '16 at 15:40
0

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

JAVA_HOME=/usr/lib/jvm/jdk-11.0.12
JRE_HOME=/usr/lib/jvm/jdk-11.0.12

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). – Piotr P. Karwasz Aug 30 '21 at 09:17