如何找出运行的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
- 尝试parsing或执行Tomcat_home / bin目录,并根据您的操作系统查找名为version.sh或version.bat的脚本。
- 执行脚本
./version.sh
或version.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