如何找出运行的tomcat版本

我试图让Appfuse + tomcat + jRebel工作。

Appfuse默认使用Cargo下载tomcat(7.0.33版本)并将应用程序部署到它。 我希望使用已经安装的tomcat(版本7.0.27),而不是下载的。 我遵循appfuse FAQ进行了更改。

mvn cargo:run部署后mvn cargo:run ,我怎么知道实际运行的tomcat确实是7.0.27?

我曾经input一个错误的URL(例如localhost:8080 / dfsfsdf )在错误页面中看到它,但是现在它什么也没有显示。

我的$CATALINA_HOME指向我自己的tomcat 7.0.27。 对不起忘了提,这是Windows

更新:

既然这个问题已经变得很stream行了,我想解释一下为什么那个接受的答案。 简单的,这是第一个解决了我的问题。

看问题的标题, @ Tech Junkie和@CPU 100真的有最好的答案,但不是我遇到的情况。 (我想知道如果mvn cargo:run运行我安装的tomcat或“项目embedded”的tomcat) :)

如果您可以上传JSP文件,则可以打印出如下示例中的一些信息: bestdesigns.co.in/blog/check-jsp-tomcat-version

将这段代码保存到名为tomcat_version.jsp的文件中:

  Tomcat Version : <%= application.getServerInfo() %><br> Servlet Specification Version : <%= application.getMajorVersion() %>.<%= application.getMinorVersion() %> <br> JSP version : <%=JspFactory.getDefaultFactory().getEngineInfo().getSpecificationVersion() %><br> 

当你访问http://example.com/tomcat_version.jsp时; ,输出应该类似于:

 Tomcat Version : Apache Tomcat/5.5.25 Servlet Specification Version : 2.4 JSP version: 2.0 

谢谢! 🙂

虽然这不是最近的,我想,我的答案仍然可以帮助别人:CD到服务器/ lib并运行以下命令:

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

就是这样。

 Server version: Apache Tomcat/7.0.30 Server built: May 23 2013 02:54:10 Server number: 7.0.30.0 OS Name: Linux OS Version: 3.13.0-36-generic Architecture: amd64 JVM Version: 1.7.0_65-b32 JVM Vendor: Oracle Corporation 
  1. 尝试parsing或执行Tomcat_home / bin目录,并根据您的操作系统查找名为version.shversion.bat的脚本。
  2. 执行脚本./version.shversion.bat

如果没有version.bat或version.sh,则使用工具解压缩JAR文件(\ tomcat \ server \ lib \ catalina.jar)并查看文件org \ apache \ catalina \ util \ lib \ ServerInfo.properties。 在“server.info =”下定义的版本。

您只需在Web浏览器中打开http://localhost:8080/ ,这将打开显示正在运行的Tomcat版本的Tomcat欢迎页面:

 Apache Tomcat/7.0.42 
  • 我假设你的Tomcat运行在8080端口上

在你的tomcat/bin目录下执行脚本:

 sh tomcat/bin/version.sh Server version: Apache Tomcat/7.0.42 Server built: Jul 2 2013 08:57:41 Server number: 7.0.42.0 OS Name: Linux OS Version: 2.6.32-042stab084.26 Architecture: amd64 JVM Version: 1.7.0_21-b11 JVM Vendor: Oracle Corporation 

使用发行说明

在主Tomcat文件夹中,您可以find包含以下行(〜第20-21行)的RELEASE-NOTES文件:

  Apache Tomcat Version 8.0.22 Release Notes 

或者你可以使用命令行获得相同的信息:

  • Windows

     type RELEASE-NOTES | find "Apache Tomcat Version" 

    输出:

      Apache Tomcat Version 8.0.22 
  • Linux

     cat RELEASE-NOTES | grep "Apache Tomcat Version" 

    输出:

      Apache Tomcat Version 8.0.22 

要找出Tomcat版本,find这个文件 – version.sh for * nix或者version.bat for Windows。 这个version.sh文件通常位于Tomcat bin文件夹中。

 phpmongodb@kumar:/usr/share/tomcat7/bin$ ./version.sh 

注意

如果您不确定version.sh文件的位置,请尝试以下命令:

 sudo find / -name "version.sh" 

找出关于Tomcat7的一切。

 sudo find / -name "tomcat7" 

对于Windows机器

 bin>version.bat Using CATALINA_BASE: "C:\apache-tomcat-7.0.53" Using CATALINA_HOME: "C:\apache-tomcat-7.0.53" Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.53\temp" Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_65" Using CLASSPATH: "C:\apache-tomcat-7.0.53\bin\bootstrap.jar;C:\apache-tomcat-7.0.53\bin\tomcat-juli.jar" Server version: Apache Tomcat/7.0.53 Server built: Jan 01 2014 06:20:16 Server number: 7.0.53.0 OS Name: Windows 10 OS Version: 10.0 Architecture: amd64 JVM Version: 1.8.0_65-b17 JVM Vendor: Oracle Corporation 

对于Linux机器

 # ./version.sh Using CATALINA_BASE: /usr/epramaan/apache-tomcat-7.0.56 Using CATALINA_HOME: /usr/epramaan/apache-tomcat-7.0.56 Using CATALINA_TMPDIR: /usr/epramaan/apache-tomcat-7.0.56/temp Using JRE_HOME: /usr/java/jdk1.7.0_71/jre Using CLASSPATH: /usr/epramaan/apache-tomcat-7.0.56/bin/bootstrap.jar:/usr/epramaan/apache-tomcat-7.0.56/bin/tomcat-juli.jar Server version: Apache Tomcat/7.0.56 Server built: Sep 26 2014 12:08:24 Server number: 7.0.56.0 OS Name: Linux OS Version: 2.6.32-431.el6.x86_64 Architecture: amd64 JVM Version: 1.7.0_71-b14 JVM Vendor: Oracle Corporation 

如果Tomcat作为服务安装:

 #sudo /etc/init.d/tomcat version 

当前运行的Tomcat的版本

如果你设置了environtmentvariables – %CATALINA_HOME%,那么Windows:

 >> cd %CATALINA_HOME%\bin >> version 

或者,

 java.exe -cp lib\catalina.jar org.apache.catalina.util.ServerInfo 

我的设置—希望你会像下面这样

 %CATALINA_HOME% --- C:\Program Files\Tomcat\apache-tomcat-8.0.28 

OUTPUT

服务器版本:Apache Tomcat / 8.0.28服务器内置:2015年10月7日18:25:21 UTC服务器编号:8.0.28.0操作系统名称:Windows 7操作系统版本:6.1架构:amd64 JVM版本:1.8.0_111-b14 JVM供应商:甲骨文公司

运行以下

 /usr/local/tomcat/bin/catalina.sh version 

其反应将如下所示:

 Using CATALINA_BASE: /usr/local/tomcat Using CATALINA_HOME: /usr/local/tomcat Using CATALINA_TMPDIR: /var/tmp/ Using JRE_HOME: /usr Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar Using CATALINA_PID: /var/catalina.pid Server version: Apache Tomcat/7.0.30 Server built: Sep 27 2012 05:13:37 Server number: 7.0.30.0 OS Name: Linux OS Version: 2.6.32-504.3.3.el6.x86_64 Architecture: amd64 JVM Version: 1.7.0_60-b19 JVM Vendor: Oracle Corporation 

如果Tomcat作为服务安装,请尝试:

 sudo /etc/init.d/tomcat version 

用服务的实际名称replace“tomcat”。

input404.jsp non-existent.jsp

获取页面底部的Tomcat / JBoss版本号。

为了保护Tomcat免受黑客攻击,build议我们尝试隐藏tomcat版本信息。 OWASP项目提出了几个步骤。 https://www.owasp.org/index.php/Securing_tomcat 。 如果一个tomcat安装被保护,那么只有上面的答案中的一个会显示tomcat的版本。
即通过明确宣布版本号的$ TOMCAT_HOME \ RELEASE-NOTES文件。

我有一个这样的受保护的服务器,只有RELEASE-NOTES文件显示了tomcat的版本。 所有其他技术未能透露版本信息。

Windows任务pipe理器>进程>findTomcat>右键单击>打开文件位置>如果您运行Tomcat7w.exe它是可见的说明。

如果不是在Windows Vista / 7上,Tomcat应该运行在进程中可见,然后转到任务pipe理器>选项卡(服务),findTomcat启动它,然后进行处理。

您可以通过其状态页find服务器信息:

{磨合的tomcat-URL} /经理/状态

在该页面上,您可以看到Tomcat运行的Java版本

注意:我也粘贴了Tomcat6和JRE7兼容性问题的答案。 不受支持的major.minor版本51.0

运行在Unix服务器的terminal上

 w3m http://localhost:8080/ 

退出按q和y

我知道这可能已经太晚了,但这可能是有用的:如果您尝试从Java代码了解Apache Tomcat服务器版本,则可以使用:

从一个HttpServlet:

 protected void doGet(HttpServletRequest request, HttpServletResponse response) { getServletContext().getServerInfo() } 

从一个ServletContextListener:

 public void contextInitialized(ServletContextEvent event) { event.getServletContext().getServerInfo(); } 

我们正在Windows环境中运行,并且必须find一种方法来获取Tomcat版本以外的Java环境。 不知道版本,我无法确定目录。 我终于find了最好的方法是使用以下方法查询Tomcat服务:

C:\ temp> sc查询| 找/我“tomcat”
SERVICE_NAME:Tomcat6
DISPLAY_NAME:Apache Tomcat 6.0 Tomcat6

Interesting Posts