tomcat点击startup.bat一闪而退的解决方法

环境路径问题

针对win7系统

  1. win7系统不仅要配JAVA_HOME还有其他一些环境路径最好也配置一下。

  2. JRE_HOME的值也要配一下,路径和jdk在同一级下

  3. CATALINA_HOME 变量值:D:\apache-tomcat-7.0.56(解压出来文件的路径)。

  4. path中的的值加上这些
    %JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%/bin;%JRE_HOME%/bin;%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar;

  5. 注意单独的环境变量中结尾不要分号,而path的中多值,值与值之间需要英文分号

端口占用问题

我们可以使用如下命令来找出哪个进程占用5037这个端口

netstat -ano | findstr "5037"

在任务管理器里查看改进程号所对应的进程,直接右击结束该进程即可。或者使用上面提到的taskkill命令,它主要是用来批量删除某些进程,当然,也可以用来删除一个进程,使用方法如下:

taskkill /PID 9060 /F 其中,/F主要是用来强制删除。

你也可以查看Tomcat自带的打印日志在你的Tomcat的logs文件夹下如果出现了

七月 04, 2018 10:40:20 上午 org.apache.catalina.core.StandardService initInternal

严重: Failed to initialize connector [Connector[HTTP/1.1-8080]]
org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8080]]

类似的错误可能已经运行了一个Tomcat你可以在服务中把它终止掉,然后再运行自己的Tomcat就可以了。

其他原因

右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。
在这里插入图片描述
再次执行startup.bat,出现下图-- 窗口不会闪退 但是出现请按任意键继续的情况,查看报错信息再决定下一步操作。

一、 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
set JRE_HOME=C:\Program Files\Java\jre6)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。

rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
rem ---------------------------------------------------------------------------

-- 此处JDK路径是否正确


set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
set JRE_HOME=C:\Program Files\Java\jre6

rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit

这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。
运行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。

二、Cannot find ““d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”

这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。

在这里插入图片描述
这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/david2000999/article/details/120884111