这篇文章主要讲解了“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 会看到 我们期待已久的画面啦。 - 启动成功啦!   - 【后文】 
- 通过前面的3篇对Tomcat中startup.bat、catalina.bat、setclasspath.bat文件的解读, - 大家应该对它们有了大体的了解啦,遇到具体的问题我们就可以对症下药了。 
- 我总结一下tomcat经常遇到的几个问题: - 1)The JAVA_HOME environment variable is not defined This environment variable is needed to run this program - 分析原因:没有在tomcat的配置文件中设置环境变量JAVA_HOME - 解决方法: - JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20(具体值要以实际的jdk安装路径为准) - CLASSPATH=.;%JAVA_HOME%;%JAVA_HOME%\jre\lib; - 或者明确的定义JAVA_HOME环境变量 - 在setclasspath.bat中开始位置加入以下俩句话: - set JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20 - set JRE_HOME=H:\DevelopTools\Java\jdk1.6.0_20(具体值要以实际的jdk安装路径为准) 
- 2) The JAVA_HOME environment variable is not defined correctly This environment variable is needed to run this program NB: JAVA_HOME should point to a JDK not a JRE - 分析原因:环境变量JAVA_HOME的设置中应该指定jdk的路径,不是jre的路径 - 解决方法: - JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20(这里是JDK的安装后路径) 
- 3)error occurred during initialization of vm could not reserve enough space for object heap could not create the java virtual machine - 分析原因:因为程序初始化时请求不到足够的内存,导致vm程序退出 - 解决方法: - 设置tomcat的应用内存,在catalina.bat中 找到Execute The Requested Command下面的set JAVA_OPTS把这一句替换为 set JAVA_OPTS= -Xms800m -Xmx800m - 或者 set JAVA_OPTS= -server -Xms800m -Xmx800m -XX:MaxNewSize=256m - 说明: - Xms为tomcat启动初始内存 - Xmx为tomcat大占用内存,以上两个参数关系到tomcat承受的访问性能,但也要根据服务器实际内存情况设定。 - 其他问题不再罗列了,以后遇到后可以自己动手解决了。 
感谢各位的阅读,以上就是“tomcat启动闪退的原因及解决方法”的内容了,经过本文的学习后,相信大家对tomcat启动闪退的原因及解决方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
网站栏目:tomcat启动闪退的原因及解决方法-创新互联
本文链接:http://www.scyingshan.cn/article/djgijd.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 