如何在Java中获取Tomcat版本号

Sea*_*ean 4 java tomcat version

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

我已经看到很多如何通过命令行等来做到这一点,但这不是我可以使用的代码,我也不能使用catalina.path,因为版本号已从路径中删除.

还请注意我想在代码中使用该版本,因此我所看到的各种JSP解决方案对我来说也不起作用.

谢谢

icz*_*cza 13

来自JSP

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

Tomcat Version : <%= application.getServerInfo() %>
Run Code Online (Sandbox Code Playgroud)

输出:

Tomcat Version : Apache Tomcat/8.0.14
Run Code Online (Sandbox Code Playgroud)

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());
Run Code Online (Sandbox Code Playgroud)

输出:

Sep 24 2014 09:01:51
Apache Tomcat/8.0.14
8.0.14.0
Run Code Online (Sandbox Code Playgroud)

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

注意:

ServerInfo班也有一个main()方法,所以它可以运行作为一个独立的应用过于:

java -cp lib/catalina.jar org.apache.catalina.util.ServerInfo
Run Code Online (Sandbox Code Playgroud)

示例输出:

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
Run Code Online (Sandbox Code Playgroud)