Apache Tomcat is one of the most popular open-source web servers for Java-based applications. Whether you are an administrator managing a server or a developer troubleshooting an issue, knowing which version of Tomcat you are running is crucial for compatibility and maintenance. In this post, we will walk through different methods to check the version of Tomcat on a Linux server.
Method 1: Check Using the catalina.sh
Script
Apache Tomcat includes a script called catalina.sh
that provides various Tomcat-related utilities, including the version information. Here’s how to check the version using this script:
- Open a terminal on your Linux machine.
- Navigate to the Tomcat installation directory. Typically, this directory is
/opt/tomcat/
or/usr/share/tomcat/
, but it may differ depending on your installation.cd /path/to/tomcat/bin
- Run the following command to display the version information:
./catalina.sh version
This will output detailed information, including the version of Tomcat. The output will look something like this:
Server version: Apache Tomcat/9.0.41 Server built: Oct 13 2020 20:47:00 UTC Server number: 9.0.41.0 OS Name: Linux OS Version: 5.4.0-70-generic Architecture: amd64 Java Home: /usr/lib/jvm/java-8-openjdk-amd64 JVM Version: 1.8.0_265-b01 JVM Vendor: AdoptOpenJDK
The line
Server version: Apache Tomcat/9.0.41
clearly indicates the version of Tomcat running.
Method 2: Check Using the version.sh
Script
Tomcat also provides a version.sh
script (located in the bin
directory) that can also display version details.
- Navigate to the
bin
directory of your Tomcat installation.cd /path/to/tomcat/bin
- Run the script as follows:
./version.sh
The output will include the Tomcat version as well as other related information, such as the JVM version.
Method 3: Check the Web Application’s web.xml
File
If Tomcat is running a web application, you may be able to determine the version indirectly by checking the web.xml
file that the application uses. This file contains metadata about the application, and the Tomcat version often appears in the logs when the application starts.
- Go to the
webapps
directory where your application is hosted.cd /path/to/tomcat/webapps
- Look inside the
ROOT
or your specific application directory for theWEB-INF/web.xml
file. - In some cases, the Tomcat version is logged when the application starts up, and you may find the version listed there.
Method 4: Check the lib
Directory
Tomcat includes various libraries in its lib
directory, some of which may include version information in their file names.
- Go to the
lib
directory in your Tomcat installation:cd /path/to/tomcat/lib
- Look through the files here. Some of the libraries may include version numbers, such as
tomcat-coyote.jar
,tomcat-juli.jar
, etc.
Method 5: Check the System Package Manager
If you installed Tomcat through your system’s package manager, such as apt
or yum
, you can check the installed version using the package manager.
- For Debian/Ubuntu-based systems (using
apt
):dpkg -l | grep tomcat
This will display the installed Tomcat package and its version.
- For Red Hat/CentOS-based systems (using
yum
):yum list installed | grep tomcat
This will provide the version of the Tomcat package installed on the system.
Method 6: Check the Tomcat Logs
Tomcat logs startup information in its logs
directory. If Tomcat has already been started, you can find version information in the catalina.out
log file.
- Navigate to the Tomcat
logs
directory:cd /path/to/tomcat/logs
- Open the
catalina.out
file:cat catalina.out | grep "Apache Tomcat"
You should see an entry similar to:
Apache Tomcat/9.0.41
Conclusion
Knowing the version of Tomcat you’re using on a Linux server is essential for troubleshooting, upgrades, and ensuring compatibility with your applications. By using the methods outlined above, you can quickly determine the version of Tomcat running on your system, whether through scripts, logs, package managers, or the application configuration.