一尘不染

如何在Java中获取Tomcat版本号

tomcat

如何在JAVA中获取Tomcat / Catalina版本号?

我已经看到了很多如何通过命令行等方法来做的事情,但这不是我可以使用的代码,我也不能使用catalina.path,因为版本号已经从路径中剥离了。

还请注意,我想在代码中使用该版本,因此我看过的各种JSP解决方案也不适用于我。

谢谢


阅读 593

收藏
2020-06-16

共1个答案

一尘不染

从JSP

在一个jsp文件中,您可以打印出如下版本:

Tomcat Version : <%= application.getServerInfo() %>

输出:

Tomcat Version : Apache Tomcat/8.0.14

JSP之外(任何Java代码)

如果您想在JSP之外使用它(例如在Servlet或侦听器或w /
e中),请看一下org.apache.catalina.util.ServerInfo该类,它有一些不错的静态方法:

System.out.println(ServerInfo.getServerBuilt());
System.out.println(ServerInfo.getServerInfo());
System.out.println(ServerInfo.getServerNumber());

输出:

Sep 24 2014 09:01:51
Apache Tomcat/8.0.14
8.0.14.0

所以,您真正想要的是ServerInfo.getServerNumber()

注意:

ServerInfo班也有一个main()方法,因此可以作为一个独立的应用程序也运行:

java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo

输出示例:

Server version: Apache Tomcat/8.0.14
Server built:   Sep 24 2014 09:01:51
Server number:  8.0.14.0
OS Name:        Windows 7
OS Version:     6.1
Architecture:   x86
JVM Version:    1.7.0_55-b13
JVM Vendor:     Oracle Corporation
2020-06-16