18

我下载了适用于 Windows 8 的 apache-tomcat-7.0.40,并按照说明C:\apache-tomcat-7.0.40> startup.bat在命令提示符下使用。tomcat应用出现1秒后消失,可能是文件安装不够?我应该怎么办?而我的本地主机是互联网信息服务。

4

6 回答 6

31

在命令提示符下运行以下命令,您将获得根本原因。

...\apache-tomcat-7.0.42\bin> catalina.bat run
于 2015-07-17T11:38:29.537 回答
10

就我而言,这是因为我运行catalina.bat start并且此命令创建了新的命令提示符,同时catalina.bat run在同一命令提示符中执行并且在完成后不会关闭它。

于 2017-01-19T16:34:37.767 回答
4

尝试删除 CATALINA_HOME 变量路径末尾的斜杠。

于 2014-05-06T13:57:16.483 回答
3

Catalina 需要JAVA_HOME正常工作。所以配置java jreJAVA_HOME的路径和环境变量。

要查看错误,请在命令提示符下执行

\path\apache-tomcat-6.0.41\bin > catalina.bat run
于 2016-08-23T08:15:43.223 回答
1

转到您的 tomcat/bin 文件夹。编辑 startup.bat 文件,注释掉最后一行,其中一行:

call "%EXECUTABLE%" run >..\logs\OutputFile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\OutputFile.log 2>&1

使用 'rem' 开头注释掉它。

rem call "%EXECUTABLE%" run >..\logs\OutputFile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\OutputFile.log 2>&1 

那么控制台将保持打开状态。如果此行被注释,则意味着它说关闭控制台并将输出写入某个外部日志文件。

于 2019-03-06T21:09:44.757 回答
0

您的问题很可能是CATALINA_HOME环境变量的错误路径。

上面的答案会有所帮助,但我会补充一点,这会更广泛,因为它可能有助于连接到服务器启动的不同类型的异常,即 - to CATALINA_HOME.

在后期版本中Tomcat,其实不需要设置环境变量CATALINA_HOME。如果你看一下 start startup.bat,脚本会在每次执行时自行设置。

[23-30] 行中的脚本Tomcat 9

rem Guess CATALINA_HOME if not defined
set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"

因此,为了安全起见,您的环境变量不会与 Tomcat 脚本startup.bat(或其他任何东西)定义的内容混淆,您可以:

  1. 完全删除你的CATALINA_HOME环境变量,只要你用startup.bat;启动你的服务器。
  2. 如果您坚持要以其他方式启动它,请更正您的环境变量CATALINA_HOME路径,并确保在运行时没有任何内容覆盖它。
于 2019-03-17T10:23:43.427 回答