站长资源服务器
详解Tomcat双击startup.bat闪退的解决方法
作为一个刚学习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,在命令行中输入
netstat -ano | findstr 8080
来查看当前是否有进程占用了端口
可以看到端口被占用,则可以根据PID(进程Id号)来查看占用端口的是哪个程序,在命令行中输入
tasklist | findstr PID
注意:PID是最后一列的数,输入命令时不要忘了空格
找到占用端口的进程之后,在命令行中输入
taskkill /f /t /im 进程名
注意:斜杠之前的空格,进程名就是刚刚查到的进程名称
至此,占用端口的进程就被结束了。此时再双击start.bat,应该就没有什么问题了。