服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败的快速解决方案

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

2021-08-27 16:28guan_yan_guan Tomcat

这篇文章主要介绍了Web项目打成war包部署Tomcat时运行startup.bat直接闪退部署失败解决方案,需要的朋友可以参考下

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

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

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

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

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

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

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

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

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

startup.bat 解析

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

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

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

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

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

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

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

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

好处:

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

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

Web项目打成war包部署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。

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

这样在每次运行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可以正常运行了。

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

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

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

总结

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

原文链接:https://www.cnblogs.com/guanzhyan/archive/2018/01/17/8301965.html

延伸 · 阅读

精彩推荐
  • TomcatTomcat整体结构简单介绍

    Tomcat整体结构简单介绍

    这篇文章主要介绍了Tomcat整体结构简单介绍,Tomcat的本质是一个Servlet容器。一个Servlet能做的事情是:处理请求资源,并为客户端填充response对象,需要的朋友...

    叫我田露也行12302021-09-07
  • TomcatEclipse创建tomcat实现过程原理详解

    Eclipse创建tomcat实现过程原理详解

    这篇文章主要介绍了Eclipse创建tomcat实现过程原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

    海绵般汲取11642021-09-16
  • Tomcat一次tomcat源码启动控制台中文乱码的调试过程记录

    一次tomcat源码启动控制台中文乱码的调试过程记录

    平时在使用tomcat做一些服务的时候经常遇到各种乱码问题,下面这篇文章主要给大家介绍了一次tomcat源码启动控制台中文乱码的调试过程,需要的朋友可以...

    zhoutaoping199211852021-09-24
  • TomcatTomcat CentOS安装实现过程图解

    Tomcat CentOS安装实现过程图解

    这篇文章主要介绍了Tomcat CentOS安装实现过程图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    agrin5842021-09-15
  • TomcatTomcat安装配置方法图文教程

    Tomcat安装配置方法图文教程

    这篇文章主要为大家详细介绍了Tomcat安装配置方法图文教程,java环境变量如何配置,Eclipse安装配置方法图文教程 ,为大家分享了三个教程,感兴趣的小伙...

    Tomcat教程网13292021-08-11
  • TomcatTomcat服务器的安全设置

    Tomcat服务器的安全设置

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐。不过,在默认配置下其存在一定的安...

    IT专家网9002021-08-03
  • Tomcat解决Tomcat的maxPostSize属性的配置需要注意的问题

    解决Tomcat的maxPostSize属性的配置需要注意的问题

    这篇文章主要介绍了解决Tomcat的maxPostSize属性的配置需要注意的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋...

    life is wonderful12012021-09-13
  • Tomcat如何查看tomcat的控制台输出的方法

    如何查看tomcat的控制台输出的方法

    这篇文章主要介绍了如何查看tomcat的控制台输出的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    CaiCaiNeo11932021-08-29