我试图得到Appfuse + Tomcat + jRebel工作。

默认情况下,Appfuse使用Cargo下载tomcat。7.0.33)并将应用程序部署到它。我希望使用一个已经安装的tomcat (ver。7.0.27),而不是下载的。我在appfuse FAQ中做了更改。

在使用mvn cargo:run部署后,我如何知道实际运行的tomcat确实是7.0.27?

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

我的$CATALINA_HOME指向我自己的tomcat 7.0.27。 抱歉忘了说,这是Windows的。

更新:

既然这个问题在某种程度上变得很流行,我想解释一下为什么这个答案被接受。很简单,这是第一个解决我问题的方法。

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


当前回答

要找到Tomcat版本,请找到这个文件- *nix的version.sh或Windows的version.bat。这个version.sh文件通常位于Tomcat bin文件夹中。

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

Note

如果你不确定version.sh文件在哪里,试试这个命令:

sudo find / -name "version.sh"

找出关于Tomcat7的一切。

sudo find / -name "tomcat7"

其他回答

如果你可以上传一个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

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

sudo /etc/init.d/tomcat version

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

在Unix服务器的终端上运行

w3m http://localhost:8080/

要退出,按q,然后按y

为了保护Tomcat不受黑客攻击,建议我们尝试一些隐藏Tomcat版本信息的步骤。OWASP项目提出了几个步骤。https://www.owasp.org/index.php/Securing_tomcat。如果tomcat安装因此受到保护,那么上述答案中只有一个会显示tomcat的版本。例如,查看$TOMCAT_HOME\RELEASE-NOTES文件,其中版本号明确显示。

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

另一个选项是从tomcat查看发布说明,适用于linux/window

{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt