关于tomcat中启动startup.bat闪退问题
最近下载使用IDEA的时候需要配置tomcat,记得这是大二时候学习web的时候用到的,当时是机房电脑配置出错的可能就不大,自己电脑上却出现了问题
下面是针对不同原因而产生的问题(此为本人已知原因)
1.因为环境变量配置错误而导致的
可按如下例子重新配置
举例:
一、安装目录:D:\java\apache-tomcat-8.5.14
二、配置环境变量:
1、新建 CATALINA_BASE,变量值:D:\java\apache-tomcat-8.5.14
2、新建 CATALINA_HOME,变量值:D:\java\apache-tomcat-8.5.14
3、编辑 PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
三、测试:
1、启动TOMCAT服务:D:\java\apache-tomcat-8.5.14\bin\startup.bat
2、浏览器地址栏中输入http://localhost:8080回车,出现TOMCAT欢迎界面,OK!
(注意:这些配置成功的前提是你JDK的环境变量是配置正确的,配置JAVA_HOME,注意变量值是jdk的主目录,不是bin目录,并且不要加分号)
2.打开startup.bat
在其最后加入pause,并保存
这样就不会一闪而过,同时也可以看到报错原因
2.1输入pause后保存打开(按任意键闪退)
恭喜你,你的环境变量是配置成功的,但是问题出在哪里呢?
1.第一种情况你的端口被占用了(可能开了好几个tomcat,也有可能被其他的应用程序占用)
解决方法 :
1.(偏向暴力,但是最实用):关机重启
2.手动关闭
2.出现 the JRE_HOME environment variable is not defined correctly This environment variabl
解决方法:
我们看到setclasspath.bat
打开之后进行编辑
修改灰色部分代码(同样是根据自己 JDK放置的位置,每个人都不同)
也有可能你的多了一个JAVA_HOME的变量,同理进行修改
保存之后就可以运行startup.bat(别忘记去掉pause)
2.2输入pause后保存打开(有错误信息)
- 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。
rem ---------------------------------------------------------------------------
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
rem ---------------------------------------------------------------------------
-- 此处JDK路径是否正确
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
set JRE_HOME=C:\Program Files\Java\jre6
rem Make sure prerequisite environment variables are set
if not "%JAVA_HOME%" == "" goto gotJdkHome
if not "%JRE_HOME%" == "" goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit
这样在每次运行startup.bat时就自动注册了JAVA_HOME,JRE_HOME。
运行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。
其实个人觉得和2.1中的第二种错误的原理差不多。
2.Cannot find ““d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”
解决方法:
这个时候,可能是CATALINA_HOME的值在某个地方被写死了,像我的绿色版tomcat在bin文件下多了一个setenv.bat的文件,打开一看果然是在这里面被写死了CATALINA_HOME的路径,这应该是为了某种原因被人后加上的设置文件,把这个文件删除之后,tomcat可以正常运行了。
以上就是本人能力范围的解决方法,希望能够真正帮助到大家,创作不易,多多支持!