启动tomcat时 一闪而过解决方法

【前文】html

在实际开发中通常都是eclipse+tomcat(也许还会用到tomcat的插件),咱们只须要在eclipse中单击servers上的按钮就能够成功启动tomcat了,java

可是若是想在tomcat的安装目录下 双击startup.bat启动时却一闪而过了。这是为何呢(tomcat启动失败),立刻就带你们看看具体的缘由。apache

工具/原料

 
  • Tomcattomcat

  • 记事本服务器

方法/步骤

 
  1.  

    下面我先跟你们确认一下问题出现的前提条件(本机版本java:1.6.20,tomcat:6.0.32)eclipse

    1)在eclipse里面启动tomcat时都是正常的。工具

    2)在系统中配置了各类环境变量以下:性能

    JAVA_HOME:H:\DevelopTools\Java\jdk1.6.0_20this

    CATALINA_BASE:H:\DevelopTools\apache-tomcat-6.0.32spa

    CATALINA_HOME:H:\DevelopTools\apache-tomcat-6.0.32

    CLASSPATH:.;%JAVA_HOME%;%JAVA_HOME%\jre\lib;

    PATH:.;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;

     


     

  2.  

    咱们来具体来分析一下问题出现的缘由及解决办法:

    进入tomcat的安装目录(即解压后放置的地方):

    看到圈出红色的3个bat文件,通常经过startup.bat启动tomcat时流程是:startup->catalina->setclasspath->catalina

    若是这3个bat文件里面有一个出现错误的话就是启动失败。为了找到一闪而过的缘由得须要咱们来看看这3个文件里面究竟是什么了

     


     

  3.  

    先记事本打开startup.bat,找到最后一句话::end,咱们知道end表示结束的意思,:end是一个标记,咱们在后面加上一句pause (暂停等待的意思);

    再次执行startup.bat,就会看到如图,当咱们按任意的键时cmd窗口又是一闪而过了。可是这已经肯定了咱们的环境变量都是正确的。

     

     

     
     
  4.  

    为了更加详细的看到信息,咱们再来更改一句:找到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程序退出。

     


     

     

  5.  

    那么既然找到了问题的缘由,咱们能够来解决这个问题了:申请足够的内存就能够了 

    以下操做:在catalina.bat中 找到Execute The Requested Command下面的

    set JAVA_OPTS把这一句替换为:

    set JAVA_OPTS= -server -Xms800m -Xmx800m -XX:MaxNewSize=256m

    关于set JAVA_OPTS这句话其实有不少种替换的方式,可是大致上都是同样的

    再次启动startup.bat 会看到 咱们期待已久的画面啦。

    启动成功啦!

     

     

     

     
     
    【后文】
  1. 经过前面的3篇对Tomcat中startup.bat、catalina.bat、setclasspath.bat文件的解读,

    你们应该对它们有了大致的了解啦,遇到具体的问题咱们就能够对症下药了。

  2.  

    我总结一下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安装路径为准)

  3.  

    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的安装后路径)

  4.  

    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承受的访问性能,但也要根据服务器实际内存状况设定。

    其余问题再也不罗列了,之后遇到后能够本身动手解决了。

     

    原出处:https://jingyan.baidu.com/article/546ae18563bacd1149f28cca.html来自百度经验

相关文章
相关标签/搜索