我试图让Appfuse + tomcat + jRebel工作。
默认情况下,Appfuse使用Cargo下载tomcat(版本7.0.33)并将应用程序部署到它。我希望使用已安装的tomcat(版本7.0.27)而不是下载的tomcat。我在appfuse FAQ之后进行了更改。
使用mvn cargo:run
部署之后,我怎么知道实际运行的tomcat确实是7.0.27?
我曾经在错误页面中输入错误的网址(例如 localhost:8080 / dfsfsdf ),但现在却没有显示任何内容。
我的$CATALINA_HOME
指向我自己的tomcat 7.0.27。
抱歉忘了提及,它适用于Windows
更新
由于这个问题在某种程度上受欢迎,我想解释为什么接受这个问题。很简单,这是第一个解决了我的问题。
查看问题的标题,@Tech Junkie和@CPU 100确实有最好的答案,但不是我遇到的情景。 (我想知道mvn cargo:run
是运行我安装的tomcat还是"项目嵌入" tomcat):)
答案 0 :(得分:442)
虽然这不是最近的,但我想,我的答案仍可以帮助其他人:
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
答案 1 :(得分:88)
./version.sh
或version.bat
如果没有version.bat或version.sh那么 使用工具解压缩JAR文件(\ tomcat \ server \ lib \ catalina.jar)并查看文件org \ apache \ catalina \ util \ lib \ ServerInfo.properties。 “server.info =”下定义的版本。
答案 2 :(得分:50)
如果您可以上传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
答案 3 :(得分:46)
执行tomcat/bin
目录中的脚本:
sh tomcat/bin/version.sh
Server version: Apache Tomcat/7.0.42
Server built: Jul 2 2013 08:57:41
Server number: 7.0.42.0
OS Name: Linux
OS Version: 2.6.32-042stab084.26
Architecture: amd64
JVM Version: 1.7.0_21-b11
JVM Vendor: Oracle Corporation
答案 4 :(得分:40)
您只需在网络浏览器中打开http://localhost:8080/
即可
这将打开Tomcat欢迎页面,显示运行这样的Tomcat版本:
Apache Tomcat/7.0.42
答案 5 :(得分:11)
当前运行Tomcat的版本
如果设置环境变量 - %CATALINA_HOME%,那么 Windows:
>> 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 操作系统版本:6.1 架构:amd64 JVM版本:1.8.0_111-b14 JVM供应商:Oracle Corporation
答案 6 :(得分:9)
要查找Tomcat版本,请找到此文件 - 用于* nix的version.sh或用于Windows的version.bat。此version.sh文件通常位于Tomcat bin文件夹中。
phpmongodb@kumar:/usr/share/tomcat7/bin$ ./version.sh
注意强>
如果您不确定version.sh文件在哪里,请尝试以下命令:
sudo find / -name "version.sh"
了解有关Tomcat7的所有信息。
sudo find / -name "tomcat7"
答案 7 :(得分:9)
在主Tomcat文件夹中,您可以找到包含以下行的 RELEASE-NOTES 文件(〜第20-21行):
Apache Tomcat Version 8.0.22 Release Notes
或者您可以使用命令行:
获取相同的信息<强>窗强>:
type RELEASE-NOTES | find "Apache Tomcat Version"
输出:
Apache Tomcat Version 8.0.22
<强>的Linux 强>:
cat RELEASE-NOTES | grep "Apache Tomcat Version"
输出:
Apache Tomcat Version 8.0.22
答案 8 :(得分:6)
运行以下
/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
答案 9 :(得分:6)
对于Windows机器
bin>version.bat
Using CATALINA_BASE: "C:\apache-tomcat-7.0.53"
Using CATALINA_HOME: "C:\apache-tomcat-7.0.53"
Using CATALINA_TMPDIR: "C:\apache-tomcat-7.0.53\temp"
Using JRE_HOME: "C:\Program Files\Java\jdk1.8.0_65"
Using CLASSPATH: "C:\apache-tomcat-7.0.53\bin\bootstrap.jar;C:\apache-tomcat-7.0.53\bin\tomcat-juli.jar"
Server version: Apache Tomcat/7.0.53
Server built: Jan 01 2014 06:20:16
Server number: 7.0.53.0
OS Name: Windows 10
OS Version: 10.0
Architecture: amd64
JVM Version: 1.8.0_65-b17
JVM Vendor: Oracle Corporation
对于Linux机器
# ./version.sh
Using CATALINA_BASE: /usr/epramaan/apache-tomcat-7.0.56
Using CATALINA_HOME: /usr/epramaan/apache-tomcat-7.0.56
Using CATALINA_TMPDIR: /usr/epramaan/apache-tomcat-7.0.56/temp
Using JRE_HOME: /usr/java/jdk1.7.0_71/jre
Using CLASSPATH: /usr/epramaan/apache-tomcat-7.0.56/bin/bootstrap.jar:/usr/epramaan/apache-tomcat-7.0.56/bin/tomcat-juli.jar
Server version: Apache Tomcat/7.0.56
Server built: Sep 26 2014 12:08:24
Server number: 7.0.56.0
OS Name: Linux
OS Version: 2.6.32-431.el6.x86_64
Architecture: amd64
JVM Version: 1.7.0_71-b14
JVM Vendor: Oracle Corporation
如果Tomcat作为服务安装:
#sudo /etc/init.d/tomcat version
答案 10 :(得分:4)
另一个选项是tomcat的视图发行说明,适用于linux / window
{Tomcat_home}/webapps/ROOT/RELEASE-NOTES.txt
答案 11 :(得分:4)
我知道这可能为时已晚,但这可能有用: 如果您尝试从Java代码了解Apache Tomcat Server版本,则可以使用:
来自HttpServlet的:
protected void doGet(HttpServletRequest request, HttpServletResponse response) {
getServletContext().getServerInfo()
}
来自ServletContextListener:
public void contextInitialized(ServletContextEvent event) {
event.getServletContext().getServerInfo();
}
答案 12 :(得分:3)
如果Tomcat作为服务安装,请尝试:
sudo /etc/init.d/tomcat version
将“tomcat”换成服务的实际名称。
答案 13 :(得分:1)
对于检查Tomcat服务的运行版本的Windows PowerShell命令行方法:
(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" /...
答案 14 :(得分:1)
此命令几乎可以检查所有内容:
java -cp tomcat/lib/catalina.jar org.apache.catalina.util.ServerInfo
输出看起来像这样
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
答案 15 :(得分:1)
为了保护Tomcat不被黑客攻击,建议我们尝试隐藏tomcat版本信息的几个步骤。 OWASP项目提出了几个步骤。 https://www.owasp.org/index.php/Securing_tomcat。如果tomcat安装受到保护,那么上面只有一个答案将显示tomcat的版本。
即通过$ TOMCAT_HOME \ RELEASE-NOTES文件,其中明确宣布版本号。
我有一个这样的受保护服务器,只有RELEASE-NOTES文件显示了tomcat的版本。所有其他技术都未能揭示版本信息。
答案 16 :(得分:1)
在Ubuntu 18.04 Linux服务器上工作时,我遇到了这个挑战。
这是我修复的方式:
运行以下命令,确定version.sh
文件的位置:
sudo find / -name "version.sh"
对我来说,输出是:
/opt/tomcat/bin/version.sh
然后,使用输出将文件(version.sh
)作为外壳脚本(sh
)运行:
sh /opt/tomcat/bin/version.sh
仅此而已。
我希望这会有所帮助
答案 17 :(得分:1)
在 Windows 上只需 cmd
C:\Program Files (x86)\Extensis\Portfolio Server\applications\tomcat\bin>版本
答案 18 :(得分:1)
答案 19 :(得分:1)
我们在Windows环境中运行,我必须找到一种方法来获取Java环境之外的Tomcat版本。在不知道版本的情况下,我无法确定目录。我终于找到了最好的方法是使用:
查询Tomcat服务C:\ temp&gt; sc query |找/我“tomcat”
SERVICE_NAME:Tomcat6
DISPLAY_NAME:Apache Tomcat 6.0 Tomcat6
答案 20 :(得分:1)
输入404.jsp
或non-existent.jsp
。
在页面底部获取Tomcat / JBoss版本号。
答案 21 :(得分:1)
在Unix服务器的终端上运行
w3m http://localhost:8080/
退出按q,然后按y
答案 22 :(得分:0)
在类似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从classpath上的Tomcat 7中的类开始。确保在进程命令行中使用诸如-Dcatalina.base
,-Dcatalina.home
和-classpath
之类的选项。
答案 23 :(得分:0)
只需启动tomcat并在catalina.logs
中搜索“ 服务器版本名称”,您将获得tomcat的版本。
例如:
“ 2019年3月7日,上午11:25:40 org.apache.catalina.startup.VersionLoggerListener日志 INFO:服务器版本名称:Apache Tomcat / 9.0.16 ”
答案 24 :(得分:0)
在Linux中检查tomcat版本
cd /opt/tomcat/bin
./catalina.sh version
答案 25 :(得分:0)
要仅了解确切的tomcat版本,只需访问vi tomcat/BUILDING.txt
答案 26 :(得分:0)
您可以通过其状态页面找到服务器信息:
{运行-Tomcat的URL} /经理/状态
在该页面上,您可以看到运行Tomcat的Java版本
注意:我也在Tomcat6 and JRE7 compatibility issue. Unsupported major.minor version 51.0
上粘贴了这个答案答案 27 :(得分:0)
Windows任务管理器&gt;处理&gt;找到tomcat&gt;右键单击&gt;打开文件位置&gt;如果您运行Tomcat7w.exe,它在描述中可见。
Tomcat应该在进程中运行,如果不在Windows Vista / 7上,则运行到任务管理器&gt; tab(services)找到tomcat启动它然后进程。