我试图得到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主页(通常是localhost:8080)

你会看到这样的东西:

其他回答

有时tomcat目录下的bin/version.sh脚本仍然没有显示数字版本。例如,它可以只显示:“服务器版本:WebServer”。其他提到的机会(检查路径、检查日志、发布说明、tomcat根页面输出)也不能工作。 在这种情况下(你应该仍然有对tomcat目录的读访问权):

从tomcat的lib目录中获取catalina.jar。 提取它 查看一下org/apache/catalina/util/ServerInfo.properties

它可以包含您所期望的内容(server.info和server.info)。数量字段)

Windows PowerShell命令行检查Tomcat服务运行版本的方法:

(get-service Tomcat*).DisplayName

样例输出……

Apache Tomcat 8.5 Tomcat8

如果还想知道额外的详细信息,包括服务运行的文件夹位置:

Get-WmiObject win32_service | Where-Object {$_.Name -like 'Tomcat*'} | select Name, DisplayName, State, PathName

样例输出……

Name    DisplayName               State   PathName
----    -----------               -----   --------
Tomcat8 Apache Tomcat 8.5 Tomcat8 Running "C:\Program Files\Apache Software Foundation\Tomcat 8.5\bin\Tomcat8.exe" /...

你可以在浏览器中打开http://localhost:8080/ 这将打开Tomcat欢迎页面,显示Tomcat版本,如下所示:

Apache Tomcat/7.0.42

我假设Tomcat运行在端口8080上

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

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

打开tomcat主页(通常是localhost:8080)

你会看到这样的东西: