tomcat 未启动

问题描述 投票:0回答:12

由于某种原因,tomcat 服务器突然无法运行/启动/停止。

下面是我运行启动命令时得到的结果,

  C:\Program Files\jasperserver-3.5.0\apache-tomcat\bin>startup
Using CATALINA_BASE:   C:\Program Files\jasperserver-3.5.0\apache-tomcat
Using CATALINA_HOME:   C:\Program Files\jasperserver-3.5.0\apache-tomcat
Using CATALINA_TMPDIR: C:\Program Files\jasperserver-3.5.0\apache-tomcat\temp
Using JRE_HOME:        C:\PROGRA~1\JASPER~1.0\java\jre

tomcat 窗口弹出一秒钟然后消失。

(我在 c:\program files 下安装了另一个 java 实例)

救命!!!

更新:

来自 catalina 文件的日志

Mar 22, 2011 3:41:50 AM org.apache.coyote.http11.Http11BaseProtocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Mar 22, 2011 3:41:50 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1017 ms
Mar 22, 2011 3:41:51 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 22, 2011 3:41:51 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.20
Mar 22, 2011 3:41:51 AM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Mar 22, 2011 3:42:06 AM org.apache.coyote.http11.Http11BaseProtocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Mar 22, 2011 3:42:06 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Mar 22, 2011 3:42:06 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/43  config=null
Mar 22, 2011 3:42:06 AM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Mar 22, 2011 3:42:06 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 15374 ms
java tomcat jasperserver
12个回答
28
投票

使用

catalina.bat run
而不是
startup.bat
。然后窗口就不会消失,你就可以看到发生了什么


5
投票

就我而言,这是

%CATALINA_HOME%
路径中最后一个斜杠的问题:最后一个斜杠不应该在那里!

C:\tomcat\8.0.30
- 正确

C:\tomcat\8.0.30\
- 错误

参见 http://blackandwhitecomputer.blogspot.de/2015/09/tomcat-debug-cannot-startup.html

老实说,我没想到现代应用程序可能依赖于环境变量路径中的最后一个斜杠!


3
投票

我遇到了类似的问题。我打开 cmd 提示符并 cd 到 tomcat in\startup.bat。问题是我的 JRE_HOME 未在环境变量中定义。我添加了并且成功了。


2
投票

我也遇到了同样的问题,我是这样解决的:

首先,按照@ykaganovich的建议,我尝试使用catalina.bat start命令启动服务器;它没有解决问题,但至少显示了指定错误的日志,这确实很有帮助。

就我而言,日志说问题是因为java版本。我有 JAVA_HOME 变量指向 JDK7,但我的 tomcat 版本需要它指向 JDK8。

我将 JAVA_HOME 变量更改为指向 JDK8(而不是 JDK7),然后,当我再次执行 catalina.bat start 命令时,它运行良好并且服务器启动。我希望我的建议对某人有帮助。


1
投票

嗯,这是一个非常奇怪的问题,因为在日志中你已经启动了该服务器,所以试试这个:

  • 重新启动计算机:) - 奇怪情况的最佳解决方案
  • 更改tomcat端口
  • 关闭所有不必要的应用程序:Skype,IP电话等(有一天我遇到了类似的问题,应用程序IP电话“轻轻地”阻止了这个端口(“轻轻地” - 在tomcat日志中一切正常,但实际上web应用程序不起作用)

1
投票

在 Eclipse 中添加 tomcat 并从那里启动它。将 tomcat 配置为“使用 Tomcat 安装”。会起作用的


1
投票

apache Tomcat 9 版本也有同样的问题。

解决方案非常简单。

Java 8 及更高版本支持 Apache Tomcat 9。 所以,我有 JRE_HOMEJRE7 路径,我将它绑定到新的 JRE8 并且一切正常。

不同版本的Apache Tomcat适用于不同版本的Servlet和JSP规范。规范和各自的 Apache Tomcat 版本之间的映射是:

希望这对你们有用,干杯!


0
投票

如果 Tomcat 之前工作正常,但 Tomcat 意外未启动,这是因为其他进程已开始使用您正在使用 Tomcat 的端口。就我而言,我关闭了 Tomcat,并尝试直接从 Eclipse 运行我的 servlet。这样Eclipse就控制了该端口。在我关闭 Eclipse 并尝试重新启动 Tomcat(使用startup.bat)后,一切正常。

ykaganovich 的 answer 帮助我找到了我的问题。


0
投票

上述解决方案都不适合我。

我通过删除当前的 tomcat 并用新的 tomcat 替换它并再次设置我的工作区找到了出路。

我希望这可以帮助别人


0
投票

打开 Tomcat 用户文件 (tomcat-users.xml) 并检查是否已关闭所有语音标记。这就是为我解决的问题。

现在仔细检查角色名称:

<tomcat-users>
<role rolename="admin" />
<role rolename="manager" />
<user username="admin" password="secret" roles="admin,manager" />
</tomcat-users>

最后,执行bin中的startup.bat文件


0
投票

最新版本的 Tomcat 可与 8 之后的 Java(可能还有 JDE)版本配合使用。我定义了不同的环境变量 JRE_HOME 和 JAVA_HOME。

JAVA_HOME = C:\Program Files\Java\jdk-20 JRE_HOME = C:\Program Files\Java\jre-1.8 这种形式下,tomcat在bash中启动了,但是并没有出现在服务列表中。 enter image description here

通过更改JRE_HOME的路径一切都解决了。 JAVA_HOME 的路径可以替换 JRE 的路径。这是因为tomcat启动时会搜索java_home OR jre_home。

我还建议将JAVA_HOME添加到系统环境变量中


-1
投票

尝试打开 Tomcat7w.exe 或按照以下步骤操作。

(我已将 Tomcat 安装在文件夹 C:\Program Files\Apache Software Foundation\Tomcat 7.0 下)

  1. 以管理员身份打开命令提示符
  2. 运行 --> "C:\Program Files\Apache Software Foundation\Tomcat 7.0 in\Tomcat7w.exe" //MS//
  3. 现在您可以在系统托盘中看到图标
  4. 双击图标并开始/停止
© www.soinside.com 2019 - 2024. All rights reserved.