【问题标题】:Tomcat does not start. Where was I wrong?Tomcat 没有启动。我哪里错了?
【发布时间】:2017-07-29 21:30:47
【问题描述】:

我按照说明做了一切,安装了所有的环境变量,但仍然无法启动。这是我尝试启动时在 cmd 中输出的内容:

C:\WINDOWS\system32>%CATALINA_HOME%\bin\startup.bat
Using CATALINA_BASE:   "D:\Tomcat"
Using CATALINA_HOME:   "D:\Tomcat"
Using CATALINA_TMPDIR: "D:\Tomcat\temp"
Using JRE_HOME:        "C:\Program Files\Java\jre1.8.0_131"
Using CLASSPATH:       "D:\Tomcat\bin\bootstrap.jar;D:\Tomcat\bin\tomcat-juli.jar"
C:\WINDOWS\system32>

为蝙蝠打开一个窗口并立即消失。 http://127.0.0.1:8080/ 上没有任何内容。可能是什么问题呢? startup.bat 的内容:

@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem ---------------------------------------------------------------------------

setlocal

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%"
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome

set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec
echo Cannot find "%EXECUTABLE%"
echo This file is needed to run this program
goto end
:okExec

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

:end

【问题讨论】:

  • 嗨 @tenday 你的 startup.bat 中有什么?
  • 您好,我没有更改任何内容,我尝试在最后添加,但窗口仍然出现并立即消失
  • 你能把tomcat启动时打印到终端的内容贴出来吗?
  • 就是这样:使用 CATALINA_BASE:"D:\Tomcat" 使用 CATALINA_HOME:"D:\Tomcat" 使用 CATALINA_TMPDIR:"D:\Tomcat\temp" 使用 JRE_HOME:"C:\Program Files\ Java\jre1.8.0_131" 使用 CLASSPATH: "D:\Tomcat\bin\bootstrap.jar;D:\Tomcat\bin\tomcat-juli.jar"
  • 伙计们,这很奇怪。问题是我从官方网站下载的存档(下载并尝试了不同的版本):从另一个网站下载了tomcat,一切正常!

标签: java tomcat cmd server


【解决方案1】:

这很可能是一个重复的问题,但我通过快速查找找到的其他答案都没有包含如何为自己找出根本原因的基本技术,因此我在这里回答:

startup.bat 启动的命令行立即消失时,只需使用catalina.bat run,它将在您当前正在运行的同一命令行中启动tomcat(当然,这只适用于命令行,您可以' t 再双击)。否则将显示在(立即消失)新打开的命令行窗口中的错误消息将在您当前的命令行中保持可见。

很可能,logs/catalina.out 中也有相同的内容,您也应该检查该文件。

【讨论】:

    【解决方案2】:

    对我来说,这是因为 Program Files 和 Program Files 之间有一个空格,它无法识别路径。我更改了项目的路径并将其移至 Documents 下,并且成功了。

    【讨论】:

    • 欢迎使用 Stack Overflow,请在评论部分添加此类 cmets,或者如果这是一种解决方案,请添加更多详细信息
    猜你喜欢
    • 2012-08-17
    • 2018-01-21
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2016-07-20
    • 2012-11-29
    • 2019-12-09
    相关资源
    最近更新 更多