Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案

 更新时间:2018年01月17日 13:48:02   作者:guan_yan_guan  
这篇文章主要介绍了Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案,需要的朋友可以参考下

即上篇通过将web项目打成war包部署到Tomcat服务器,解决mysql问题后,又出现了新问题,真是一波三折,所以将解决过程分享给大家,希望能帮助到小伙伴们~

将打好的war包拷贝到Tomcat的webapps目录,然后在Tomcat的bin目录找到startup.bat批处理文件,直接双击执行,结果运行几秒后直接闪退,顿时有种不好的预感,在浏览器访问web项目,结果连localhost:8080都无法访问,web项目未发布成功,一脸懵逼~

没有日志看不到为啥发布不成功额,想了想,可以稍微修改下startup.bat批处理文件,添加PAUSE,这样运行结束只有按任意键才会关掉窗口(调试成功,在去掉PAUSE)。

如果有错误信息,这时候会显示出来,可以再根据它的错误提示。

此时,发现显示了一些环境变量,是不是环境变量没有配置引起的报错呢,就去检查了下,发现没有配置JRE_HOME环境变量。配置后,发现还是闪退。

也不清楚时环境变量引起的还是什么原因,没辙了,只能再找度娘了。

经过查资料,关于Tomcat中startup.bat原理的相关内容,觉得很有帮助,摘取部分片段分享下,可能跟解决这个问题没关系,可略过~

startup.bat 解析

 验证CATALINA_HOME 环境变量是否设置,如果没有设置则通过CATALINA_HOME/bin目录下查找catalina.bat文件来确定CATALINA_HOME环境变量是否有效,如果没有找到catalina.bat 则goto end,结束。

验证catalina.bat是否存在,如果不能存在则结束。

判断启动 startup.bat 是否有参数,如果有参数,如果有有则赋值给 CMD_LINE_ARGS变量。

通过call执行catalina.bat ,并传入参数。

其实startup.bat 的主要作用就是帮你找到catalina.bat并执行它。

好处:

如果你配置CATALINA_HOME的环境变量了,就可以把startup.bat 放到任何目录下,都可以启动tomcat了。

 好了,根据对startup.bat文件的解析,发现现在的问题跟环境变量没关系。瞬间有点失落。经验告诉我,可以查看日志撒。发现日志存在错误日志额。

问题解决方法请参考:Web项目打成war包部署到tomcat时报MySQL Access denied for user 'root'@'localhost' (using password: YES)错误解决方案

Tomcat其他问题总结:

问题一:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

Tomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。

这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。

问题二:Cannot find "D:\Program Files\apache-tomcat-7.0.52\bin\setclasspath.bat"

可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。

这种情况,可以去看catalina.bat中的配置,如下图,可能配置死的内容就在这个文件里。

总结

以上所述是小编给大家介绍的Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • 修改TOMCAT的JVM虚拟机内存大小的三种方法

    修改TOMCAT的JVM虚拟机内存大小的三种方法

    Tomcat默认可以使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大,经常会出现Java.lang.OutOfMemoryError: Java heap space 即JVM Heap溢出的错误,所以本文介绍了修改TOMCAT的JVM虚拟机内存大小的三种方法,需要的朋友可以参考下
    2024-09-09
  • 分析Tomcat的工作原理

    分析Tomcat的工作原理

    这篇文章主要介绍了Tomcat的工作原理是怎样的,帮助大家清楚 Tomcat 的工作原理和处理请求流程和分析,感兴趣的朋友可以了解下
    2020-09-09
  • 基于Tomcat 数据源的原理、配置、使用介绍

    基于Tomcat 数据源的原理、配置、使用介绍

    下面小编就为大家带来一篇基于Tomcat 数据源的原理、配置、使用介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Tomcat支持https访问的步骤讲解

    Tomcat支持https访问的步骤讲解

    今天小编就为大家分享一篇关于Tomcat支持https访问的步骤讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Tomcat服务器安装配置教程(win7)

    Tomcat服务器安装配置教程(win7)

    这篇文章主要为大家详细介绍了windows7系统安装与配置Tomcat服务器环境的详细步骤,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • tomcat7w.exe 出现指定的服务未安装的解决方法

    tomcat7w.exe 出现指定的服务未安装的解决方法

    下面小编就为大家分享一篇tomcat7w.exe 出现指定的服务未安装的解决方法,很简单,有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • Tomcat启动成功但无法访问http://localhost:8080/的解决方法

    Tomcat启动成功但无法访问http://localhost:8080/的解决方法

    在初次使用Tomcat时遇到了一些问题,经过一段时间的调试最终将其解决,个人感觉此问题应该比较常见,因此在这做一个分享,这篇文章主要给大家介绍了关于Tomcat启动成功但无法访问http://localhost:8080/的解决方法,需要的朋友可以参考下
    2023-04-04
  • Tomcat修正JDK原生线程池bug的实现原理

    Tomcat修正JDK原生线程池bug的实现原理

    这篇文章主要介绍了Tomcat是如何修正JDK原生线程池bug的,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08
  • Tomcat starup.bat脚本开机自启动的实现

    Tomcat starup.bat脚本开机自启动的实现

    本文主要介绍了Tomcat starup.bat脚本开机自启动的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 修改Tomcat服务器默认端口号的实现方法

    修改Tomcat服务器默认端口号的实现方法

    这篇文章主要介绍了修改Tomcat服务器默认端口号的实现方法的相关资料,需要的朋友可以参考下
    2017-09-09

最新评论