'Tomcat does not start. Where was I wrong?

I did everything according to the instructions, installed all environment variables, but it still does not start. This is what is output in cmd when I try to start:

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>

A window is opened for the bat and disappears immediately. There is nothing on http://127.0.0.1:8080/. What could be the problem? Contents of 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


Solution 1:[1]

This is most likely a duplicate question, but neither of the other answers that I found with a quick lookup contained the basic technique on how to find out the root cause for yourself, thus I'm answering here:

When the command line that startup.bat starts immediately disappears, just use catalina.bat run, which will start tomcat in the same command line that you're currently running (of course, this only works from command line, you can't doubleclick any more). The error message that otherwise would be shown in the (immediately disappearing) newly opened command line window, will stay visible in your current command line.

Most likely, the same content is also found in logs/catalina.out and you should check that file as well.

Solution 2:[2]

For me it was because there is a space in Program Files between Program and Files and it couldn't recognize the path. I changed the path of my project and moved it under Documents and it worked.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Olaf Kock
Solution 2 Henry Ecker