windows系统下tomcat启动startup.bat一闪而过

遇到运行startup.bat后,一个窗口一闪而过的问题

tomcat在启动时,会读取环境变量的信息,需要一个CATALINA_HOME 与JAVA_HOME的信息,
CATALINA_HOME即tomcat的主目录,JAVA_HOME即java安装的主目录,jdk的主目录。
首先,要在环境变量处,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号

然后,如果这样配置,startup.bat还是一闪而过,可以右键点击startup.bat,编辑,在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口不会再一闪而过,而是停留在桌面上(调试成功,把pause去掉即可)。

下面是在错误提示窗口遇到过的问题:
一、 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 大功告成

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

-----------------------------------------------
端口被占用
按Win+X组合键,选择“命令提示符(管理员)”命令:
打开DOS窗口后,一般我们会先输入“netstat”命令查看简单的统计信息,其中冒号后面的是端口信息
输入“netstat -nao”命令时可以在最右列显示PID进程序号,以便我们用命令直接结束程序
输入“netstat -nab”命令可以网络连接、端口占用和程序运行的详细信息
如果发现异常的端口和程序后可以先结束进程树
-----------------------------------------------

备注:随笔中内容来源于网上资料整理,仅供参考。

上一篇:TensorFlow指定GPU/CPU进行训练和输出devices信息


下一篇:使用Windows2003的IIS发布网站 - 进阶者系列 - 学习者系列文章