tomcat6,tomcat7或者更高版本的tomcat点击startup.bat时候出现闪退或者运行后闪退的解决办法

最近做的项目,用的是jdk7和tomcat6或者tomcat7,在配置好jdk环境,验证jdk安装成功后,在自己的电脑上点击tomcat里面的bin文件夹下的startup.bat,很顺利,而且可以进入欢迎页,但是一旦在其他服务器上去配置tomcat,而且是一模一样的环境,点击startup.bat出现闪退(或者运行完闪退),遇到这个问题,当然第一时间去csdn啦,好吧,都说更改8080端口,可是还是闪退,如此郁闷的心情伴随着不停 的找解决方法,最后还是没有找到。

经过一晚上的琢磨,本人亲自研读了tomcat的confg文件夹下的server.xml文件,同时每次闪退的时候,去查log日志文件,终于发现了问题。先把server.xml文件贴出来,大家应该也是非常熟悉这个配置文件,一些端口,项目,都是在这里进行配置就行了。

<Server port="8005" shutdown="SHUTDOWN">

  <!--APR library loader. Documentation at /docs/apr.html -->
  <Listener SSLEngine="on" className="org.apache.catalina.core.AprLifecycleListener"/>
  <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
  <Listener className="org.apache.catalina.core.JasperListener"/>
  <!-- Prevent memory leaks due to use of particular java/javax APIs-->
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener"/>
  <!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>
  <GlobalNamingResources> 
    <Resource auth="Container" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" name="UserDatabase" pathname="conf/tomcat-users.xml" type="org.apache.catalina.UserDatabase"/>
  </GlobalNamingResources>
  <Service name="Catalina">   
    <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443"/>
    <Engine defaultHost="localhost" name="Catalina">  
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>  
      <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false">   
      <Context docBase="CouldPreparation" path="/CouldPreparation" reloadable="true" source="org.eclipse.jst.jee.server:CouldPreparation"/></Host>
    </Engine>
  </Service>
</Server>
为了便于查看,我把里面没用的注释全部去掉了,一般我们常规思维动刀这句话。

 <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 
这是启动tomcat的端口信息, 默认是8080,一般如果电脑中有其他程序占用的话,我们就改这个,这个端口号被占用,那么肯定也是启动不了服务的 吐舌头,但是,我们改掉这个的话,还是闪退,这下就纳闷了,这是为什么呢,很多来人就会怀疑自己的jdk是不是已经安装成功了,或者干脆重新安装一下,最后折腾了半天,还是不行。好了不卖关子了,我贴出来的 用红色加粗的这句话,这个是关闭服务的端口。也就意味着,我们只想着启动,而不去关注 shutdown,导致服务闪退,因此,我们只需要把这个 8005端口也改掉,改掉的意思是这个端口不被系统里面其它服务占用,具体看端口是不是被其他服务占用,可以进行搜索,教程一大把,这里就不再献丑啦。

这样一来,我们改掉了两个端口,然后重新双击startup.bat,这下应该是没有问题啦。启动tomcat首页去看看~~~~~

ps,如有问题,望批评指出。



猜你喜欢

转载自blog.csdn.net/qq_27010291/article/details/78328074