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


当前回答

运行以下命令

/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_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="下定义的版本。

检查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作为服务安装,请尝试:

sudo /etc/init.d/tomcat version

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

虽然这不是最近的事情,但我想,我的答案仍然可以帮助到其他人:

cd tomcat/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

在类unix环境中,我还建议检查实际运行的进程命令行:

$ ps aux | grep java

...
/usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/srv/tomcat-instances/bla/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx4096M -XX:+UseConcMarkSweepGC -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n -Xmx4096m -Xms4096m -XX:MaxPermSize=2048m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8090 -Dcom.sun.management.jmxremote.rmi.port=8090 -Djava.rmi.server.hostname=localhost -Djava.endorsed.dirs=/opt/apache-tomcat-8.0.47/endorsed -classpath /opt/apache-tomcat-8.0.47/bin/bootstrap.jar:/opt/apache-tomcat-8.0.47/bin/tomcat-juli.jar -Dcatalina.base=/srv/tomcat-instances/bla -Dcatalina.home=/opt/apache-tomcat-8.0.47 -Djava.io.tmpdir=/tmp/tomcat8-bla-tmp org.apache.catalina.startup.Bootstrap start
...

由于(操作系统)环境变量和(Java)系统属性被设置为意外值,可能会出现一些微妙的奇怪行为。我遇到过这样的情况,由于过时的Tomcat setenv.sh, Tomcat 8从类路径上的Tomcat 7的类开始。确保在进程命令行中有-Dcatalina。基地,-Dcatalina。Home和-classpath是有意义的。