我试图得到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):)


当前回答

以下4种方法可以用来找到Apache Tomcat版本在Linux:

1). Linux通过版本脚本在Tomcat Bin目录:

找到正在使用的Tomcat的bin目录 检查是否存在version.sh脚本,即ll version.sh 执行方式:sh version.sh或./version.sh

这将输出你的样例如下:

2).在Linux命令行检查Tomcat版本

ps -ef |grep -i tomcat // this is will output and you will need to eye-ball to find version, sample below

3).通过Catalina.jar获取Tomcat版本

在终端中执行以下CMD,您将需要在Tomcat中定位Lib文件夹

java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

4).通过JSP获取Tomcat版本

用下面的代码创建JSP页面 然后尝试在浏览器中通过Tomcat打开JSP 这将输出您正在运行的Tomcat版本。

Tomcat版本:<%= application.getServerInfo() %> Servlet 规格版本:<%= application.getMajorVersion() %>。< % = application.getMinorVersion() %> JSP版本: .getSpecificationVersion .getEngineInfo < % = JspFactory.getDefaultFactory () () () % >

其他回答

以下4种方法可以用来找到Apache Tomcat版本在Linux:

1). Linux通过版本脚本在Tomcat Bin目录:

找到正在使用的Tomcat的bin目录 检查是否存在version.sh脚本,即ll version.sh 执行方式:sh version.sh或./version.sh

这将输出你的样例如下:

2).在Linux命令行检查Tomcat版本

ps -ef |grep -i tomcat // this is will output and you will need to eye-ball to find version, sample below

3).通过Catalina.jar获取Tomcat版本

在终端中执行以下CMD,您将需要在Tomcat中定位Lib文件夹

java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo

4).通过JSP获取Tomcat版本

用下面的代码创建JSP页面 然后尝试在浏览器中通过Tomcat打开JSP 这将输出您正在运行的Tomcat版本。

Tomcat版本:<%= application.getServerInfo() %> Servlet 规格版本:<%= application.getMajorVersion() %>。< % = application.getMinorVersion() %> JSP版本: .getSpecificationVersion .getEngineInfo < % = JspFactory.getDefaultFactory () () () % >

Windows任务管理器>进程>找到tomcat >右键单击>打开文件位置>如果你运行Tomcat7w.exe,它在描述中可见。

Tomcat应该在进程中可见,如果不是在Windows Vista/7去任务管理器>选项卡(服务)找到Tomcat启动它,然后进程。

检查yout tomcat日志目录。

goto  /var/log/tomcat8/

查看文件:catalina.out 它将显示tomcat版本如下:

Server version name: Apache Tomcat/8.5.72 04-Feb-2022 04:00:58.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Oct 28 2021 00:54:01 UTC 04-Feb-2022 04:00:58.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 8.5.72.0 04-Feb-2022 04:00:58.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux 04-Feb-2022 04:00:58.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64 04-Feb-2022 04:00:58.537 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_312-b07

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

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

当前运行的Tomcat版本

如果设置环境变量- %CATALINA_HOME%,则 窗口:

>> 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

输出

服务器版本:Apache Tomcat/8.0.28 服务器构建:2015年10月7日18:25:21 UTC 服务器号:8.0.28.0 操作系统名称:Windows 7 OS版本:6.1 架构:amd64 JVM版本:1.8.0_111-b14 JVM供应商:Oracle Corporation