Apache Tomcat 7.0.40 disappears after 1 second

2020-07-02 11:47发布

问题:

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 tomcat application appeared for 1 second and then disappeared, so I maybe the documents installation is not enough? What should I do? While my local host is internet information service.

回答1:

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.



回答2:

Try to remove the slash at the end of CATALINA_HOME variable path.



回答3:

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


回答4:

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.



回答5:

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:

  1. Remove your CATALINA_HOME environment variable entirely, as long as you start your server with startup.bat;
  2. Correct your environment variable CATALINA_HOME path if you insist to be starting it otherwise, and make sure, nothing overrides it during run-time.


标签: tomcat7