tomcat startup闪退

来源:互联网 发布:idc虚拟主机源码 编辑:程序博客网 时间:2024/05/19 19:12

可能原因:

一、JAVA_HOME未配置或配置错误

添加系统变量:
windows右击我的电脑 -> 属性 -> 高级 -> 环境变量 ->新增
配置地址不能是jre地址,应为jdk地址,如:C:\Program Files\Java\jdk1.6.0_43(最后不加“;”)

二、添加PAUSE查看原因

右击startup 选择编辑,在最后加上“PAUSE”,这样就可以查看失败原因。别忘了调试成功后去掉~
如果有错误信息,这时候会显示出来,可以再根据它的错误提示,上网搜索对应的解决办法,下面是在错误提示窗口遇到过的问题:

1.Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。
给setclasspath.bat的开头添加红色标记部分,如下:
rem —————————————————————————
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
rem —————————————————————————

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 大功告成。

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

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

三、版本不对应

tomcat和jdk的版本不对,这时添加PAUSE也不会显示任何问题。
版本对应信息可以查看官方文档:
http://tomcat.apache.org/whichversion.html

0 0