作为一个刚学习tomcat的程序猿来说,这是会经常出现的错误。
1.环境变量问题
1.1 首先需要确认java环境是否配置正确,jdk是否安装正确
win+r打开cmd,输入java 或者 javac
出现下图所示就说明jdk配置正确:
如果没有,则参考jdk的安装及配置
如果以上都没有问题,则向下看。
1.2确认tomcat的环境变量配置
对于免安装版的tomcat来说,在启动tomcat时,需要读取环境变量和配置信息,缺少了这些信息,就不能登记环境变量,导致闪退。
解决方法:
1:在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件的最上面加入下面两行:
注意: 后面的路径根据自己的安装路径来复制
set java_home=d:\jdk1.8.0_131 (java jdk目录)
set tomcat_home=d:\tomcat\apache-tomcat-9.0.40-windows-x64\apache-tomcat-9.0.40 (解压后的tomcat文件目录)
如图:
2.在已解压的tomcat的bin文件夹下找到shutdown.bat,右击->编辑。在文件头加入下面两行:
注意: 后面的路径根据自己的安装路径来复制
set java_home=d:\jdk1.8.0_131 (java jdk目录)
set tomcat_home=d:\tomcat\apache-tomcat-9.0.40-windows-x64\apache-tomcat-9.0.40 (解压后的tomcat文件目录)
如图:
配置完之后,点击start.bat启动就可以了。
2.端口占用问题
在确定环境变量配置没有问题的情况下,可能是端口被占用。
一般tomcat的默认端口是8080
对于windows系统,win+r打开cmd,在命令行中输入
1
|
netstat -ano | findstr 8080 |
来查看当前是否有进程占用了端口
可以看到端口被占用,则可以根据pid(进程id号)来查看占用端口的是哪个程序,在命令行中输入
1
|
tasklist | findstr pid |
注意:pid是最后一列的数,输入命令时不要忘了空格
找到占用端口的进程之后,在命令行中输入
1
|
taskkill /f /t /im 进程名 |
注意:斜杠之前的空格,进程名就是刚刚查到的进程名称
至此,占用端口的进程就被结束了。此时再双击start.bat,应该就没有什么问题了。
到此这篇关于详解tomcat双击startup.bat闪退的解决方法的文章就介绍到这了,更多相关tomcat双击startup.bat闪退内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_46078890/article/details/114003436