我试图得到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):)
如果你可以上传一个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版本,请找到这个文件- *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"
当前运行的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
我知道现在说这个可能太迟了,但这个可能很有用:
如果您试图从Java代码中了解Apache Tomcat服务器版本,您可以使用:
从HttpServlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletContext().getServerInfo()
}
从一个ServletContextListener:
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().getServerInfo();
}
在类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是有意义的。
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" /...
我在Ubuntu 18.04 Linux服务器上工作时遇到了这个挑战。
以下是我的解决方法:
运行下面的命令来确定你的version.sh文件的位置:
sudo find / -name "version.sh"
对我来说,输出是:
/opt/tomcat/bin/version.sh
然后,使用输出,运行文件(version.sh)作为shell脚本(sh):
sh /opt/tomcat/bin/version.sh
这是所有。
我希望这对你们有帮助
以下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 () () ()
% >