Tomcat无法启动问题排查

合集下载

tomcat常见的错误与解决方案小结

tomcat常见的错误与解决方案小结

tomcat常见的错误与解决⽅案⼩结⼀、tomcat启动时错误问题1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;解决:没有在tomcat的配置⽂件.bash_profile中设置环境变量JAVA_HOME,具体设置⽅法为:加⼊如下⼏⾏:JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jarexport CLASSPATH问题2:Error occurred during initialization of VM Could not reserve enough space for object heap解决:在tomcat的bin⽬录下,catalina.sh⽂件的tomcat内存参数配置过⼤,超过机器可⽤内存总数造成,修改到适当的值即可,修改的参数为:JAVA_OPTS="-Xms50m -Xmx60m"问题3:tomcat启动时报某个⽬录没有权限,启动失败,或者不能执⾏某些jsp页解决:tomcat需要tomcat⽤户具有⼀些⽬录和⽂件的相应权限, 所有⽬录应该具有读写执⾏(浏览)的权限,jsp,class⽂件应该最少具有读权限, ⼀些⽂件需要写权限,下⾯是已知的需要读写权限⽂件的列表:$CATALINA_HOME/logs下所有⽂件$CATALINA_HOME/work下所有⽂件$CATALINA_HOME/publish/main/count.txt⽂件$CATALINA_HOME/publish/chatroom/resource下的所有.xml⽂件所有上传图⽚⽬录都需要写权限。

tomcat启动不了的原因

tomcat启动不了的原因

Tomcat启动不了的原因(实用收藏+更新)
如果在控制面板-“管理工具”-“服务”中启动Tomcat时,提示“本地计算机上的Apache Tomcat 服务启动后又停止了。一些服务自动停止,如果他们没什么可做的,例如“性能日志和警报”服务”,使得Tomcat启动不起来的可能的原因是:
1。由于在tomcat里JVM没有配好,他默认的是批向c:\program file\Java下的那一个,如果你确认这没有删掉,JVM指向你自己安装的jdk\jre试试。
我以前在学校里也常常碰到这些问题,当时一般是重新安装tomcat.
后来慢慢得开始找问题了,发现其实还真就是上面所说的几点启动不了,后来我发现是第2点出的错.
幸亏我以前对server.xml备份过,只要换回原来的server.xml就行了.
至于原因,我还要进行分析.因为当时是做虚拟主机才对这个配置文件进行过修改的.
检查错误的方法我也看过一些,就写下来吧.
一是查看log文件,这个是每个维护人员必须养成的习惯,
二是查看端口占用,我是用fport看的,一个单文件程序,很方便实用.
三是运行命令行:"tomcat6.exe run",不过要cmd中在"D:\projects\software\Tomcat 6.0\bin"下运行,查看错误.
环境变量的话一般重新查看过就行了.
还有就是版本匹配问题,这个可以随便搜下,很多的配置方案都会写出java版本与tomcat版本.对应就行了.
2。改写server.xml文件出错,如果改写出错也会导致服务启动不起来。 3。设置的网络端口被占用,如IIS; 4。Tomcat和JDK版本对应问题,tomcat 5.0以上的版本,jdk也必须是1.5以上。 5。环境变量配置错误。

手动启动tomcat,配置了环境变量依旧无法启动解决办法

手动启动tomcat,配置了环境变量依旧无法启动解决办法

手动启动tomcat,配置了环境变量依旧无法启动解决办法在明明已经安装了JDK并设置好了JAVA_HOME,可偏偏Tomcat 在启动过程中找不到。

报错信息如下:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program;提示找不到java_home各jre_home路径,何解?原因不知道了,下面来看解决办法:1、分析startup.bat启动脚本:发现其调用了catalina.bat,而catalina.bat调用了setclasspath.bat2、在setclasspath.bat的头部定义了JAVA_HOME和JRE_HOME的值,那么在这里手动设置JAVA_HOME变量rem ---------------------------------------------------------------------------rem Set CLASSPATH and Java optionsremrem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $rem ---------------------------------------------------------------------------rem 在你自己的setclasspath.bat添加下面两句话rem----------------------------------------------------------------set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_05(最后改成你自己的jdk名字)set JRE_HOME=C:\Program Files\Java\jre1.5.0_05(jre名字)rem-----------------------------------------------------------------rem Make sure prerequisite environment variables are setif not "%JAVA_HOME%" == "" goto gotJdkHomeif not "%JRE_HOME%" == "" goto gotJreHomeecho Neither the JAVA_HOME nor the JRE_HOME environment variable is definedecho At least one of these environment variable is needed to run this program。

tomcat的配置问题-HTTPStatus404问题解决方法(转)

tomcat的配置问题-HTTPStatus404问题解决方法(转)

tomcat的配置问题-HTTPStatus404问题解决方法(转)tomcat的配置问题-HTTP Status 404 问题解决方法(1)今天刚开始编写东西就出现了错误HTTP Status 404 - /MyServlet--------------------------------------------------------------------------------type Status reportmessage /MyServletdescription The requested resource (/MyServlet) is not available.刚开始以为是myeclipse设置的tomcat的问题在myeclipse里面可以运行tomcat并且可以运行http://localhost:8080测试成功http://localhost:8080/的下一级目录却不能够打开出现了上面的错误我在网上查到好多资料说是1.在web.xml中加入下段:registration/GreetingServlet然后用http://localhost:8080/greeting/GreetingServlet就可以访问了2.web.xml中这样registrationGreetingServletregistration/servlet/GreetingServlet等很多这么说的 web.xml的问题可是我改了好多次都不行后来我想可能是tomcat 的问题我在tomcat的webapps/root目录下新建了个网页测试可以在webapps下新建的文件夹的网页却不可以,出现了上面的错误可以确定是tomcat的问题,而不是网页映射的问题我查倒了下面的资料。

--------------------------------------------------作为一个初学JSP和Servlet的人来说,最难恐怕是服务器的配置这一关。

tomcat7.0镜像版无法启动问题

tomcat7.0镜像版无法启动问题

关于镜像tomcat7.0无法启动问题及端口的
更改
镜像版的tomcat7.0安装后第一次也就是安装那次可以启动,但是以后就不能启动了(至少我的是这样的),下面我就两个方面的问题提出解决方法。

希望能给需要的人提供帮助。

一般来说会出现这样的问题,在开始中打开tomcat后会出现拒绝访问。

出现这样的问题,有两种一般障碍:
一是端口被占用,需要更改端口。

具体方法是在tomcat的安装目录下的conf文件夹中
server.xml用记事本或者能编辑的软件打开,内容如下:
橙色部分的port就是端口号,我已将把它改为8888,默认是8080.修改后保存就行了。

这样端口就更改了。

二是要提供管理员身份,具体做法是
右键tomcat7.0.exe,选择属性——兼容性并选择以兼容模式运行和以管理员身份运行。

然后应用。

退出后在打开即可。

tomcat正常运行一段时间后,突然访问不了项目了

tomcat正常运行一段时间后,突然访问不了项目了

tomcat正常运⾏⼀段时间后,突然访问不了项⽬了前⾔我将项⽬部署在tomcat服务器上,本来都是好好的,输⼊⽹站地址就能访问;但是第⼆天⼀早去就会发现⽹站访问提⽰404,⽂件⽆法找到;我就很懵了。

排查1、我是⽤的是chrome浏览器,所以尝试了下其余浏览器看是否能够访问;以外的发现IE竟然可以访问。

说明问题不在代码2、找到tomcat的安装⽬录,查看错误⽇志;在logs⽂件夹下即可找到类似 catalina.2019-09-22.log 的⽂件打开⽂件夹后就看到了报错信息:3、然后靠万能的百度就分分钟解决了报错信息:22-Sep-2019 18:15:22.184 INFO [http-nio-8080-exec-7] org.apache.coyote.http11.Http11Processor.service Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will be logged at DEBUG level.ng.IllegalArgumentException: Invalid character found in method name. HTTP method names must be tokensat org.apache.coyote.http11.Http11InputBuffer.parseRequestLine(Http11InputBuffer.java:426)at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:687)at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)at .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459)at .SocketProcessorBase.run(SocketProcessorBase.java:49)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)at ng.Thread.run(Thread.java:748)解决⽅法:在Tomcat的server.xml中找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/>这个标签,添加maxHttpHeaderSize="9999"这⼀属性。

解析Tomcat的启动脚本--startup.bat

解析Tomcat的启动脚本--startup.bat

解析Tomcat的启动脚本--startup.bat 概述我们通常使⽤ Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中⼲了⼀些什么事呢?⼤家都知道⼀个 Java 程序需要启动的话, 肯定需要 main ⽅法, 那么这个 main ⽅法在哪呢?Tomcat 脚本中⼜是配置了⼀些什么参数呢, 什么情况下 Tomcat 会启动失败呢?带着⼀些列的疑问我们来分析 Tomcat 的三个最重要的启动脚本:startup.batcatalina.batsetclasspath.batstartup.bat 脚本该脚本主要做了以下⼏件事:设置 CATALINA_HOME 环境变量的值找到 catalina.bat 脚本调⽤ catalina.bat 脚本, 并把参数传过去贴出简化版本的 startup.bat 脚本的内容@echo offrem 执⾏这个命令之后, 增加或者改动的环境变量只限于匹配到 endlocal 命令或者到达⽂件末尾.setlocalrem 假设 CATALINA_HOME 环境变量没有定义rem 取当前⽬录的路径值, 赋给 CURRENT_DIR 变量, 就是 ./apache-tomcat-x.x.xx/binset "CURRENT_DIR=%cd%"rem 如果 CATALINA_HOME 变量值不是 "" 的话, 调到 gotHome 标签处if not "%CATALINA_HOME%" == "" goto gotHomerem 如果 CATALINA_HOME 是 "" 的话, 设置 CATALINA_HOME 变量值为当前⽬录的路径值(./apache-tomcat-x.x.xx/bin) set "CATALINA_HOME=%CURRENT_DIR%"rem 判断当前路径下的是否有 bin\catalina.bat, 也就是 ./apache-tomcat-x.x.xx/bin/bin/catalina.batrem 如果存在的话, 直接调到 okHome 标签处, 显然是不存在的if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomerem 不存在的话, CATALINA_HOME 取上级⽬录的值, 也就是(./apache-tomcat-x.x.xx/)cd ..set "CATALINA_HOME=%cd%"rem 进⼊ CURRENT_DIR(./apache-tomcat-x.x.xx/bin)cd "%CURRENT_DIR%":gotHomerem 通过上⾯的设置, CATALINA_HOME 的值已经是: ./apache-tomcat-x.x.xx/rem 所以整理是可以找到 catalina.bat 脚本的, 直接调到 okHome 标签处if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomeecho The CATALINA_HOME environment variable is not defined correctlyecho This environment variable is needed to run this programgoto end:okHomerem 设置 EXECUTABLE 变量指向为 catalina.bat 脚本set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"rem 检查⽬标可执⾏⽂件(catalina.bat)是否存在, 通常情况下是存在的, 直接调到 okExec 标签处rem 如果不存在的话, 直接退出. 启动 Tomcat 结束if exist "%EXECUTABLE%" goto okExececho Cannot find "%EXECUTABLE%"echo This file is needed to run this programgoto end:okExecrem 获取剩余的没有⽤ shift 取出来的命令⾏参数, 并保存它们在 CMD_LINE_ARGSset CMD_LINE_ARGS=:setArgsrem 如果第⼀个命令⾏参数是空的话, 跳到 doneSetArgs 标签处rem "%1" : 表⽰执⾏命令之后的第⼀个参数if ""%1""=="""" goto doneSetArgsrem 第⼀个参数不是空的话, 拼接到 CMD_LINE_ARGS 变量set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1rem 这个命令可以⾃⾏百度shiftgoto setArgs:doneSetArgsrem 上⾯设置了 EXECUTABLE 变量的值是指向了 catalina.bat 脚本, 这个利⽤ call 命令执⾏调⽤, 并把参数传进去rem 接下来, 咱们看 catalina.bat 脚本的内容rem 完整的命令: ./apache-tomcat-x.x.xx/bin/catalina.bat startcall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end要想理解脚本中的⼀些命令, ⾸先来了解⼀下常⽤的命令(我们⽤的 Window 版的)rem : 该命令后的代码不会被执⾏, 相当于注释@echo off : 关闭命令的显⽰, 如果没有设置, 执⾏了哪些命令都会显⽰出来echo : 输出后⾯的内容setlocal : 执⾏这个命令之后, 增加或者改动的环境变量的作⽤范围只限于匹配到 endlocal 命令或者到达⽂件末尾.set : 设置⼀个变量:xxx : 定义⼀个标签goto : 跳转到制定的标签处call : 执⾏命令我们来⼀⾏⾏分析 startup.bat 脚本set "CURRENT_DIR=%cd%"%cd% : 表⽰⽂件所在的⽬录的路径如果我们解压的 Tomcat 所在的⽬录为 D:/apache-tomcat-x.x.x/ . 因为 startup.bat 命令在 bin ⽬录下, 所以此时 %cd% 表⽰的⽬录是 D:/apache-tomcat-x.x.x/binif not "%CATALINA_HOME%" == "" goto gotHome我们通常情况下不会配置 CATALINA_HOME 这个环境变量的, 所以这⾥不会调到 gotHome 标签处.set "CATALINA_HOME=%CURRENT_DIR%"直接把当前⽬录假设为 CATALINA_HOME 的值if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome然后通过固定的格式来判断⼀下是否有 catalina.bat 脚本, 当然这⾥是肯定不会存在的, 因为 CATALINA_HOME = D:/apache-tomcat-x.x.x/bincd ..set "CATALINA_HOME=%cd%"因为 Tomcat 的⽬录格式是固定的, 所以这⾥直接进⼊上级⽬录(cd ..), 然后设置 CATALINA_HOME 的值为上级⽬录(D:/apache-tomcat-x.x.x ).if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHomeecho The CATALINA_HOME environment variable is not defined correctlyecho This environment variable is needed to run this programgoto end继续往下看, 这⾥⼜⼀次判断了⼀下 catalina.bat 在这样的⽬录结构是是否能找到, 如果我们解压完 Tomcat 后, 把 startup.bat放在⾮ Tomcat 的 bin ⽬录下之后, 这⾥是找不到的, 就直接 goto end, 退出 Tomcat 的启动.好了, 这⾥我们直接调到 okHome 标签处.:okHomeset "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"好了, 这⾥很简单, 设置⼀个 EXECUTABLE 变量的值指向 catalina.bat 脚本.if exist "%EXECUTABLE%" goto okExececho Cannot find "%EXECUTABLE%"echo This file is needed to run this programgoto end⼜⼀次的检查了⼀下这个脚本是否存在, 存在的话, 直接调到 okExec 标签处, 可以执⾏了.如果没有通过检查的话, 依旧退出启动, 并打印错误信息.:okExecset CMD_LINE_ARGS=:setArgsif ""%1""=="""" goto doneSetArgsset CMD_LINE_ARGS=%CMD_LINE_ARGS% %1shiftgoto setArgs先设置了⼀个 CMD_LINE_ARGS 变量, 并且其值暂且为空这⾥出现了⼀个 ""%1""=="""", 拆开看就是判断 "%1" 是否等于 "". 那么 "%1" ⼜是什么呢?这是 window 批处理的⼀个语法, 表⽰的是执⾏命令之后的第⼀个参数, 对于这⾥, 我们并没有传递什么参数, 所以这⾥的 "%1"是 ""(空).直接跳转到 doneSetArgs 标签处.如果不是空的话, 就拼在后⾯呗.这⾥这个 shift 命令意思就是移除⼀个参数, 举个例⼦就知道了:@echo offecho "%1"shiftecho "%1"建⼀个 test.bat 批处理程序, 然后把上⾯代码复制进去, 在 cmd 中执⾏并给它两个参数下⾯是执⾏结果, 这⾥⼤家可以把 @echo off 去掉再执⾏, 验证⼀下这个命令的作⽤PS D:\> .\test Hello World"Hello""World"PS D:\>这样, ⼤家应该可以理解了.继续分析:doneSetArgscall "%EXECUTABLE%" start %CMD_LINE_ARGS%:end在上⾯设置了 EXECUTABLE = %CATALINA_HOME%\bin\catalina.bat , 所以这⾥实际上是调⽤了 catalina.bat 这个脚本, 然后传递⼀个 start 参数给它.如果我们在 cmd 中运⾏ startup.bat 并且后⾯跟着⼀些参数的话, 这⾥也⼀起传递过去了.这⾥实际上就是执⾏了: %CATALINA_HOME%\bin\catalina.bat start总结这个脚本还是挺简单的, ⽬的就是找到 catalina.bat 并调⽤它.以上就是本⽂的全部内容,希望本⽂的内容对⼤家的学习或者⼯作能带来⼀定的帮助,下篇继续介绍Tomcat相关知识--《》,有兴趣的朋友可以看下。

Tomcat服务无法启动的问题的解决方法

Tomcat服务无法启动的问题的解决方法

Tomcat服务⽆法启动的问题的解决⽅法去年下半年公司就决定投⼊⼈⼒物⼒"跟风"做⼤数据⽅向的研究并应⽤到后续项⽬中,于是乎,我们也得熟悉下Java才⾏了。

先弄个JavaEE的开发环境再说吧。

装JDK、JRE,其实JDK下⾯已经有JRE了,如果在服务器上的话,只需装JRE;然后配置环境变量:新建:JAVA_HOME:D:\Java\jdk1.7.0_51新建:CLASS_PATH:.;%JAVA_HOME%\lib编辑:PATH:在最前⾯加上 %JAVA_HOME%\bin; 接着装Tomcat,startup.bat、shutdown.bat都正常,然后想把压缩版的Tomcat的启动和关闭做成Windows服务来处理,执⾏service.bat install提⽰服务创建成功,但是启动服务却失败了,系统⽇志提⽰:我之前台式机上的Windows 2003系统没啥问题,怎么到了现在这Win7系统的⼩本上就这样了呢?先分析下,既然可以正常调⽤service.bat,也就是环境变量的配置是没有问题的,对⽐下2个操作系统,似乎⽬前最有可能的就是安装时候的权限问题。

先卸载掉已经安装过的服务service.bat remove,然后"以管理员⾝份运⾏" cmd.exe,切换到service.bat所在的⽬录执⾏service.bat install重新安装Tomcat服务。

HoHo,这下可以正常启动和关闭了。

因为是开发环境,所以我们可以配置⼀个超级⽤户admin ,使其能够通过"http://localhost:8080/"来管理Tomcat。

进⼊Tomcat根⽬录下的conf⽂件夹,打开"tomcat-users.xml"进⾏编辑:复制代码代码如下:<tomcat-users><user username="admin" password="admin" roles="manager-gui,admin-gui"/></tomcat-users>重启Tomcat后,就可以使⽤admin来管理Tomcat了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tomcat无法启动问题排查
于那个环境变量,有帖子说是tomcat5.5与jdk1.6兼容性问题,拷贝一个tcnative-1.dll到tomcat/bin下,但我试了之后没用。

应该是环境问题;
你打开windows的环境变量最后是不是多了个"."
PATH中是加了一个.,删除之后可以启动了,但这是为什么呢?加了.之后它会寻找下一级目录的信息, 结果没有, 当然出错了
1原因有可能是JDK1.6和tomcat5.5之间的兼容性问题,解决的办法如下:
将JDK1.6目录下BIN文件夹中的msvcr71.dll复制到tomcat中BIN文件夹中,这样可以成功tomcat。

(1)看log
log文件路径%TomcatHOME%\logs
(2)看启动时的控制台信息
Windows启动菜单——》执行程序——》cmd
——》cd %TOMCATHOME%\bin
——》Tomcat4的可执行程序名(或者startup.bat)
这样程序执行结束的时候,还是会回到控制带,错误信息都在里面了。

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

这样就不会一闪而过了;
后来发现在tomcat目录下有一个setclasspath.bat,在终端里执行,查看JAVA_HOME 相关内容发现,原来在JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03; 而恰恰是这个";"导致tomcat将java.exe的之路径组合成
C:\Program Files\Java\jdk1.6.0_03;\bin\java.exe
这两天在做jsp的东西,总想看看发布后的效果。

但总令人沮丧的是:tomcat 这只破猫不好好工作。

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

上网查资料,大家有很多说法:但都对症不对药。

尝试了很多次,也均以失败而告终。

它到底是什么问题呢?为什么就启动不了呢。

最后决定重装一遍,慢慢找问题。

虽然着急,但此刻也只能如此了。

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

装完后,哎,好使啊。

再将应用程序拖进webapps,配置Tomcat 5.0\conf下的server.xml。

仍然不好使。

尝试http://localhost:8080/, 没问题。

最后经仔细研究,发现是server.xml中的配置问题。

应该是这样做:
假如你应用程序所在文件夹的名字叫emp。

则,在server.xml的最后,之上,应该写上的是:如果这个你没写错的话,应该是差不多了
我再列举几条tomcat启动不了时网友的解决办法,如果您不属于上述问题,则可以按照这些办法来尝试。

1.TOMCAT启动时有一些显示,但仍会自动关闭,无法启动.
问题解答:
可能是地址被占用,运行桌面上的"关闭TOMCAT"快捷方式,执行完毕后再启动TOMCAT.
2.TOMCAT启动时一闪而过,无法启动.
问题解答:
可能是端口被占用,可找到TOMCAT的安装目录下的SERVER.XML文件,如..\EAM2003\conf\SERVER.XML,用记事本打开此文件,查找8080,如果找到,就将8080改为8088.
3.TOMCAT能正常启动,可见到登录界面,但登录不进系统
问题解答:
可能是IE的设置问题,将所有设置回复成默认设置,关闭"上网助手"或其他IE插件的"拦截弹出窗口"的功能.
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文件
@echo off //DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。

当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

if "%OS%" == "Windows_NT" setlocal //判断当前系统是否是window系统
----------------- //rem 是注释(下同)
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 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%\bin\catalina.bat" goto okHome//判断一下catalina.bat 是否找到了,找到了就直接到下面的gotHome处
cd .. //这里他是假设你开始已经进入到了tomcat的bin目录,所以就退到上一级目录
set CATALINA_HOME=%cd%//现在再设置CATALINA_HOME为tomcat的安装目录
cd %CURRENT_DIR% //这里是进入dos的当前目录
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome //再次判断catalina.bat 是否找到了,找到了就直接到下面的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%\bin\catalina.bat //设置要执行的文件
rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec //再次判断catalina.bat是否找到了,找到了就直接到下面的ok
Exec处,没有的话,就提示。

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

相关文档
最新文档