I downloaded apache-tomcat-7.0.40 for Windows 8 and I followed the instructions by using the C:\\apache-tomcat-7.0.40> startup.bat
at my command prompt. The tomc
Catalina needs JAVA_HOME
to work properly. So configure path to java jre and JAVA_HOME
in environment variables.
To see the error, in command prompt execute
\path\apache-tomcat-6.0.41\bin > catalina.bat run
Try to remove the slash at the end of CATALINA_HOME variable path.
Go to your tomcat/bin folder. Edit startup.bat file, comment out last but one line which says:
call "%EXECUTABLE%" run >..\logs\OutputFile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\OutputFile.log 2>&1
comment out using 'rem' beginning of it.
rem call "%EXECUTABLE%" run >..\logs\OutputFile.log 2>&1 start %CMD_LINE_ARGS% run >..\logs\OutputFile.log 2>&1
then Console will be remain open. if this line is commented then that means it says to close the console and write the output in some external log file.
In my case it was because I run catalina.bat start
and this command creates new command prompt, while catalina.bat run
executes in the same command prompt and doesn't close it after finishing.
Your problem is, most likely, wrong path of the CATALINA_HOME
environment variable.
Answers above would help, but I will add one point, which would be more extensive as it may help for different kind of exceptions connected to server startup, and namely - to CATALINA_HOME
.
In the late versions of Tomcat
, You actually do not need to set environment variable CATALINA_HOME
. If you'll have a look inside start startup.bat
, the script sets it itself upon each execution.
[23-30] lines of the script in 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%"
So, just to be safe that your environment variable doesn't mess up with something defined by Tomcat script startup.bat
(or anything else), you can either:
CATALINA_HOME
environment variable entirely, as long as you start your server with startup.bat
;CATALINA_HOME
path if you insist to be starting it otherwise, and make sure, nothing overrides it during run-time.