原因一:
(1)首先要搞明白启动不起来的原因。方法是在命令行下,运行startup.bat文件,这样程序就不会一闪而过,而会将启动不起来的原因打印到窗口上。
(2)在命令行下启动tomcat的方法:cmd启动命令行窗口→通过cd命令到tomcat的bin目录下→运行startup.bat。
(3)通过命令行的提示看到,这是因为电脑上没有配置JAVA_HOME或者JRE_HOME导致的。那么下面添加上JAVA_HOME和JRE_HOME。具体步骤为计算机→属性→环境变量,然后添加系统变量
JavaWeb应用开发技术(JavaEE8+Tomcat9)(计算机科学与技术丛书)京东¥65.6购买(4)添加完JAVA_HOME和JRE_HOME两个系统变量之后,在将这两个变量放到path系统变量中,方法是,在path变量值的后面直接追加注意!分号是环境变量的分割符号,不可少。
原因二:
双击tomcat的bin目录下的startup.bat是一闪而过时,可以右键startup.bat找一个文本编辑器打开,然后在文本的最后敲上pause,保存后重新运行startup.bat,这时候窗口会留在桌面上(调试成功,把pause去掉即可)。我们可以看到DOS窗口里有错误信息
TheJRE_HOMEenvironmentvariableisnotdefinedcorrectlyThisenvironmentvariableisneededtorunthisprogram解决办法:右击我的电脑-高级-环境变量,在系统变量中新建变量名:JRE_HOME变量值:C:\ProgramFiles\Java\jre7(根据你自己的JDK安装目录寻找JRENeithertheJAVA_HOMEnortheJRE_HOMEenvironmentvariableisdefinedTomcat的startup.bat,它调用了catalina.bat,而catalina.bat则调用了setclasspath.bat,只要在setclasspath.bat的开头声明环境变量(红色两行)就可以了,原因是后来较新版本安装完不会自动登记环境变量JAVA_HOME,JRE_HOME。Cannotfind“”d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”可能是CATALINA_HOME的值在某个地方被写死了,绿色版tomcat在bin文件下多了一个setenv.bat的文件,在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了原因三:查看是否被占用:
(1)使用如下命令来找出哪个进程占用这个端口
netstat-ano
findstr
(2)最后一列为占用端口的进程号,PID为,那么我们可以在任务管理器里查看改进程号所对应的进程,直接右击结束该进程即可。或者使用上面提到的taskkill命令,它主要是用来批量删除某些进程,当然,也可以用来删除一个进程,使用方法如下:
taskkill/PID/F其中,/F主要是用来强制删除。