您的位置:首页 > 运维架构 > Tomcat

关于tomcat startup.bat启动后一闪而过的问题

2013-06-24 18:27 841 查看
1.如果双击startup.bat,窗口一闪而过,可以在命令行里面启动startup.bat;

2.如果命令行里面启动startup.bat情况还是这样,就可以在bat命令后面加上pause。这样就不会一闪而过了;

3.为何startup无法启动??

首先错误如下:

TheJAVA_HOME environment variable is not definedcorrectly

Thisenvironment variable is needed to run thisprogram

NB:JAVA_HOME should point to a JDK not aJRE

图形界面检查JAVA_HOME=C:\ProgramFiles\Java\jdk1.6.0_03; 没看出什么问题

终端检查 echo %JAVA_HOME%显示为C:\Program Files\Java\jdk1.6.0_03没什么问题(其实结果是不一样的哦)

再加上jdk、netbeans、eclipse都运行正常(这些都使用同一个jdk,因此我认为JAVA_HOME肯定没有问题)

后来发现在tomcat目录下有一个setclasspath.bat,在终端里执行,查看JAVA_HOME相关内容发现,原来在JAVA_HOME=C:\ProgramFiles\Java\jdk1.6.0_03; 而恰恰是这个";"导致tomcat将java.exe的之路径组合成

C:\ProgramFiles\Java\jdk1.6.0_03;\bin\java.exe

4. 其他一些关于tomcat启动时的奇怪问题:

a.Tomcat无法从"开始"中启动,但可以在startup.bat中启动

JDK版本过低

b.启动的时候,加载信息的提示界面在屏幕上停留几秒钟就消失了,同时,tomcat的应用程序也自动关闭

在server.xml的最后,/host之上,应该写上的是:content

c.TOMCAT启动时有一些显示,但仍会自动关闭,无法启动.

  可能是地址被占用,运行桌面上的"关闭TOMCAT"快捷方式,执行完毕后再启动TOMCAT. d.TOMCAT启动时一闪而过,无法启动.

可能是端口被占用,可找到TOMCAT的安装目录下的SERVER.XML文件,如..\EAM2003\conf\SERVER.XML,用记事本打开此文件,查找8080,如果找到,就将8080改为8088.

e.TOMCAT能正常启动,可见到登录界面,但登录不进系统

  可能是IE的设置问题,将所有设置回复成默认设置,关闭"上网助手"或其他IE插件的"拦截弹出窗口"的功能.

5.解读startup.bat文件

@echooff //DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echooff”。当然,“echooff”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

if "%OS%" == "Windows_NT" setlocal //判断当前系统是否是window系统

rem--------------------------------------------------------------------------- //rem是注释(下同)

rem Start script for the CATALINAServer

rem

rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs$

rem---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined

setCURRENT_DIR=�% //设置当前目录

if not "�TALINA_HOME%" == "" goto gotHome //如果设置了CATALINA_HOME环境变量,就直接到下面的gotHome处

set CATALINA_HOME=%CURRENT_DIR%//如果没有设置CATALINA_HOME,就设置CATALINA_HOME为当前目录(其实这里她假设你进入tomcat的安装目录)

if exist "�TALINA_HOME%\bin\catalina.bat" gotookHome//判断一下catalina.bat是否找到了,找到了就直接到下面的gotHome处

cd ..//这里他是假设你开始已经进入到了tomcat的bin目录,所以就退到上一级目录

setCATALINA_HOME=�%//现在再设置CATALINA_HOME为tomcat的安装目录

cd %CURRENT_DIR% //这里是进入dos的当前目录

:gotHome

if exist "�TALINA_HOME%\bin\catalina.bat" gotookHome //再次判断catalina.bat是否找到了,找到了就直接到下面的okHome处,没有的话,就只能提示你啦!

echo The CATALINA_HOME environment variable is not definedcorrectly

echo This environment variable is needed to run thisprogram

goto end

:okHome

setEXECUTABLE=�TALINA_HOME%\bin\catalina.bat //设置要执行的文件

rem Check that target executable exists

if exist "%EXECUTABLE%" goto okExec//再次判断catalina.bat是否找到了,找到了就直接到下面的okExec处,没有的话,就提示。

echo Cannot find %EXECUTABLE%

echo This file is needed to run thisprogram

goto end

:okExec

rem Get remaining unshifted command line arguments and save them inthe

set CMD_LINE_ARGS= //这里是设置参数

:setArgs

if ""%1""=="""" goto doneSetArgs//判断参数是否加入完成

set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1//将参数组成一行,接在后面

shift

goto setArgs

:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%//执行catalina.bat,最好将这行改为:echo "%EXECUTABLE%" start%CMD_LINE_ARGS% 以便阅读、理解本文件的作用

-------------------------------------------------------------------------------------------------------------------------------------------------------------

一直以来我的tomcat都可以在eclipse中启动,但是直接启动就不行,在cmd中显示找不到catalina_home,但是我明明设置了,今天正好有

空,找找原因,看到上面转帖中的startup.bat中的代码解释,终于发现原来我在设置catalina_home的时候在最后加了“;”符号,导致路径

不对,把符号去掉,从新启动tomcat,OK。

转载自:http://blog.sina.com.cn/s/blog_6714fba701018fm9.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: