如何在Java中获取Tomcat版本号[重复]

Posted

技术标签:

【中文标题】如何在Java中获取Tomcat版本号[重复]【英文标题】:How to get Tomcat version number in Java [duplicate] 【发布时间】:2015-01-30 10:27:18 【问题描述】:

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

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

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

谢谢

【问题讨论】:

bestdesigns.co.in/blog/check-jsp-tomcat-version 这是你的答案:indianwebportal.com/check-jsp-tomcat-version 道歉,但实际上并没有回答我的问题......我如何在 Java 中做到这一点。我不想访问页面。我在代码中需要这个,因为其他代码段取决于使用的是版本 6 还是版本 7。 【参考方案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

【讨论】:

他可以运行 java -cp catalina.jar org.apache.catalina.util.ServerInfo @MihaiC 是的,编辑了我的答案。 @MihaiC 先生。肖恩说“我已经看到很多如何通过命令行等来完成它,但这不是我可以使用的代码,”所以他需要一些他可以使用的东西。例如用于验证服务器类似的东西:) @Secondo Sean 刚才说:“抱歉,但实际上并没有回答我的问题......我如何在 Java 中做到这一点。我不想访问页面。我需要在代码中因为其他代码段取决于使用的是版本 6 还是版本 7。” 还找到了ServerInfo的官方javadoc。【参考方案2】:

试着把它放在你的 JSP 中 &lt;%= application.getServerInfo() %&gt; Look at this

【讨论】:

以上是关于如何在Java中获取Tomcat版本号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

LINUX随笔二 tomcat404报错去掉敏感版本号

如何获取 JavaFX 的版本号?

如何配置TomCat

如何更改eclipse的tomcat版本

🥗Tomcat中如何指定Jdk版本

java文件中的Maven版本号