启动tomcat时 一闪而过解决方法:
但是如果想在tomcat的安装目录下 双击startup.bat启动时却一闪而过了。这是为什么呢(tomcat启动失败),马上就带大家看看具体的原因。
工具/原料
-
Tomcat
-
记事本
方法/步骤
-
下面我先跟大家确认一下问题出现的前提条件(本机版本java:1.6.20,tomcat:6.0.32)
1)在eclipse里面启动tomcat时都是正常的。
2)在系统中配置了各种环境变量如下:
JAVA_HOME:H:\DevelopTools\Java\jdk1.6.0_20
CATALINA_BASE:H:\DevelopTools\apache-tomcat-6.0.32
CATALINA_HOME:H:\DevelopTools\apache-tomcat-6.0.32
CLASSPATH:.;%JAVA_HOME%;%JAVA_HOME%\jre\lib;
PATH:.;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;
-
我们来具体来分析一下问题出现的原因及解决办法:
进入tomcat的安装目录(即解压后放置的地方):
看到圈出红色的3个bat文件,一般通过startup.bat启动tomcat时流程是:startup->catalina->setclasspath->catalina
如果这3个bat文件里面有一个出现错误的话就是启动失败。为了找到一闪而过的原因得需要我们来看看这3个文件里面到底是什么了
-
先记事本打开startup.bat,找到最后一句话::end,我们知道end表示结束的意思,:end是一个标记,我们在后面加上一句pause (暂停等待的意思);
再次执行startup.bat,就会看到如图,当我们按任意的键时cmd窗口又是一闪而过了。但是这已经确定了我们的环境变量都是正确的。
-
为了更加详细的看到信息,我们再来更改一句:找到call "%EXECUTABLE%" start %CMD_LINE_ARGS% 把里面的start替换为run。
再来看看cmd窗口里面输出错误信息了:
error occurred during initialization of vm
could not reserve enough space for object heap
could not create the java virtual machine
我们大体可以理解为:因为程序初始化时请求不到足够的内存,导致vm程序退出。
-
那么既然找到了问题的原因,我们可以来解决这个问题了:申请足够的内存就可以了
如下操作:在catalina.bat中 找到Execute The Requested Command下面的
set JAVA_OPTS把这一句替换为:
set JAVA_OPTS= -server -Xms800m -Xmx800m -XX:MaxNewSize=256m
关于set JAVA_OPTS这句话其实有很多种替换的方式,但是大体上都是一样的
再次启动startup.bat 会看到 我们期待已久的画面啦。
启动成功啦!
Document base E:\apache-tomcat-6.0.37(32)\webapps\xxx does not exist or is not a readable directory
- Document base E:\apache-tomcat-6.0.37(32)\webapps\xxx does not exist or is not a readable directory
启动服务器,报上述错误,是因为在服务器中(如tomcat)删除了某项目,单残留的配置文件没删除造成的。解决办法是到服务器中找到conf\Catalina\localhost下找到错误信息中对应的配置文件,将其删除就OK了,如果有相同名称的.bak一并删除,重启服务器已经不报错了。
按照这个方法,发现localhost文件夹是空的.这是我百度到了另外一个方法,删除/conf/server.xml中<context>节点,我在这里面找到了一个和删除的项目相关的<context>节点,删除之后重启Tomcat问题解决了.希望有帮助