Windows
Install new Java version
Follow instructions to install Java: Install Java
Update JAVA_HOME
If you have set the environment variable JAVA_HOME, check whether this needs updating. Commonly this will be automatically updated by the installation process.
Update service wrapper
Find the file jvm.dll
in the Java installation.
Java 8: this will be in
JAVA_HOME\jre\bin\server\jvm.dll
Java 11: this will be at
JAVA_HOME\bin\server\jvm.dll
Open Tomcat Properties window. If you need further details on how to open this, see: Tomcat start/ stop, open properties
Go to the Java tab. Update the Java Virtual Machine setting to the new location of jvm.dll
.
Remove old version
Installation of a new patch of Java should remove the previous version, but you should confirm that the previous version has been removed by examining the list of installed programs.
If you are migrating to a new major version of Java (e.g. you are moving from Java 8 to Java 11), you will need to remove the previous version from the list of installed programs.
Linux
Install new Java version
Follow instructions to install Java: Install Java
Update JAVA_HOME
If you have followed the standard installation instructions, you have already done this.
Update service script
Open the tomcat service script at /etc/systemd/system/tomcat.service
Update JAVA_HOME
in the script to the value of $JAVA_HOME
in your environment. You must make this the full path for the Java installation, you cannot refer to the environment variable in the script. The resulting file will look similar to this:
[Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment=JAVA_HOME=/opt/jdk/jdk-11.0.13+8 Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat
Remove old version
If you installed Java following PhixFlow’s recommended installation (Install Tomcat on Linux), delete the previous installation
cd /opt/jdk sudo rm -r [PREVIOUS VERSION]
For example
sudo rm -r /opt/jdk/jdk-11.0.13+8
If you installed Java via another method, remove the previous package as needed. If you installed Java using a package manager, this may not be necessary if you have upgraded an existing package. If you are moving between major versions (e.g. from Java 8 to Java 11), you will need to remove the previous version unless you have reasons to retain this, e.g. for other program that run on your server. Do this following instructions for your supplier and Java and for your flavour of linux through the package manager.