tomcat启动时一闪而过的几种原因

来源:互联网 发布:淘宝网旗袍 编辑:程序博客网 时间:2024/06/05 02:51

双击tomcat的bin目录下的startup.bat时一闪而过时,可以右键startup.bat找一个文本编辑器打开,然后在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口会留在桌面上(调试成功,把pause去掉即可)。我们可以看到DOS窗口里有错误信息。

1. The JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program
原因:以前版本的tomcat需要JDK,现在的tomcat(本人的是7.0)只要有JRE就可以。 如果你装的tomcat的是解压版的(免安装的)那么则需要自己手动配置JRE_HOME 这个环境变量,否则,就会出现上面的错误。
解决办法:右击 我的电脑 - 高级 - 环境变量, 在系统变量中 新建
变量名:JRE_HOME
变量值:C:\Program Files\Java\jre7(根据你自己的JDK安装目录寻找JRE)

2.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.bat5052412007020910:22:58Zjfclere
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 大功告成。

3. Cannot find “”d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”
这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。
这里写图片描述
这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。
这里写图片描述

1 0
原创粉丝点击