2023年11月28日发(作者:)



于那个环境变量,有帖子说是tomcat5.5与jdk1.6兼容性问题,拷贝一个到tomcat/bin下,但我试了之后没用。

应该是环境问题;

你打开windows的环境变量最后是不是多了个"."

PATH中是加了一个.,删除之后可以启动了,但这是为什么呢?加了.之后它会寻找下一级目录的信息, 结果没有, 当然出错了









1原因有可能是JDK1.6和tomcat5.5之间的兼容性问题,解决的办法如下:

将JDK1.6目录下BIN文件夹中的复制到tomcat中BIN文件夹中,这样可以成功tomcat。





(1)看log

log文件路径%TomcatHOME%logs



(2)看启动时的控制台信息

Windows启动菜单——》执行程序——》cmd

——》cd %TOMCATHOME%bin

——》Tomcat4的可执行程序名(或者)

这样程序执行结束的时候,还是会回到控制带,错误信息都在里面了。





1.如果双击,窗口一闪而过,可以在命令行里面启动;

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



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





这两天在做jsp的东西,总想看看发布后的效果。但总令人沮丧的是:tomcat这只破猫不好好工作。当你启动它的时候,加载信息的提示界面在屏幕上停留几秒钟就消失了,同时,tomcat的应用程序也自动关闭。上网查资料,大家有很多说法:但都对症不对药。尝试了很多次,也均以失败而告终。



它到底是什么问题呢?为什么就启动不了呢。最后决定重装一遍,慢慢找问题。虽然着急,但此刻也只能如此了。



重装(注意:其他必要的设置这里略去)。



装完后,哎,好使啊。



再将应用程序拖进webapps,配置Tomcat 5.0conf下的。 仍然不好使。



尝试localhost:8080/, 没问题。



最后经仔细研究,发现是中的配置问题。应该是这样做:



假如你应用程序所在文件夹的名字叫emp。则,在的最后,之上,应该写上的是:如果这个你没写错的话,应该是差不多了。



我再列举几条tomcat启动不了时网友的解决办法,如果您不属于上述问题,则可以按照这些办法来尝试。



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



问题解答:

可能是地址被占用,运行桌面上的"关闭TOMCAT"快捷方式,执行完毕后再启动TOMCAT.



启动时一闪而过,无法启动.



问题解答:

可能是端口被占用,

可找到TOMCAT的安装目录下的文件,如..,用记事本打开此文件,查找8080,如果找到,就将8080改为8088.



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



问题解答:

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











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

无法从"开始"中启动,但可以在中启动

JDK版本过低

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

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

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

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

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

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

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



5.解读文件

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

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

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

rem Start script for the CATALINA Server

rem

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

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



rem Guess CATALINA_HOME if not defined

set CURRENT_DIR=%cd% //设置当前目录

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

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

if exist "%CATALINA_HOME%" goto okHome//判断一下是否找到了,找到了就直接到下面的gotHome处

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

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

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

:gotHome

if exist "%CATALINA_HOME%" goto okHome //再次判断是否找到了,找到了就

直接到下面的okHome处,没有的话,就只能提示你啦!

echo The CATALINA_HOME environment variable is not defined correctly

echo This environment variable is needed to run this program

goto end

:okHome



set EXECUTABLE=%CATALINA_HOME% //设置要执行的文件



rem Check that target executable exists

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

echo Cannot find %EXECUTABLE%

echo This file is needed to run this program

goto end

:okExec



rem Get remaining unshifted command line arguments and save them in the

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% //执行,最好将这行改为:echo "%EXECUTABLE%" start %CMD_LINE_ARGS%