我试图得到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版本,只需要访问vi tomcat/BUILDING.txt

其他回答

我知道现在说这个可能太迟了,但这个可能很有用: 如果您试图从Java代码中了解Apache Tomcat服务器版本,您可以使用:

从HttpServlet:

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

从一个ServletContextListener:

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

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

你会看到这样的东西:

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

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

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

这个命令几乎可以检查所有东西:

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

or

tomcat/bin/catalina.sh version

输出是这样的

Server version: Apache Tomcat/8.5.24
Server built:   Nov 27 2017 13:05:30 UTC
Server number:  8.5.24.0
OS Name:        Linux
OS Version:     4.4.0-137-generic
Architecture:   amd64
JVM Version:    1.8.0_131-b11
JVM Vendor:     Oracle Corporation

当前运行的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