由于最近想把项目放到服务器上,第一次用命令行启动tomcat,还真出了不少之前没想到的错误。
以下是记录我遇到的两个错误,也是为了防止再犯吧,哈哈。
1.The CATALINA_HOME environment variable is not defined correctly This environment variable is needed to run this program"
这是由于未配置正确的环境变量造成的,我们可以打开tomcat自带的官方帮助中看到,
我们必须将CATALINA_HOME设置到环境变量中去,这是必需的。
同时,我们也必须设置JRE_HOME或JAVA_HOME(环境变量的设置网上有很多教程)。
只需要设置这两个环境变量就足够我们运行TOMCAT了。
2.[main] org.apache.catalina.core.ContainerBase.startInternal A child container failed during start
Caused by: java.lang.IllegalArgumentException: The main resource set specified [D:\apache-tomcat-9.0.12\wtpwebapps\dataBaseDesign] is not valid
at org.apache.catalina.webresources.StandardRoot.createMainResourceSet(StandardRoot.java:749)
这条错误是我在日志中发现的,由于打开startup.bat后,一旦出现错误,错误信息会随着cmd窗口立即消失,所以很难进行错误排查。不过,我在tomcat文件夹里发现了其自带的日志。它就在 根目录\logs 文件夹里,如果是新手的话出了什么错一定要去这里面先看看,打开后便可以看看到底出了什么错。
这条错误的真实情况是由于以前运行的项目没有清理干净造成的。
如果想清理干净以前的项目我们需要如下几个步骤:
- 将该项目的War文件从***\apache-tomcat\webapps 移出;
- 将该项目的某些配置从 ***apache-tomcat\work\Catalina\localhost 移除;
- 将该项目的配置文件,目录: ***\apache-tomcat\conf\Catalina\localhost移除。
- 打开 ***\apache-tomcat\conf\ 下的server.xml文件, 将从
<context>
一直到</context>
之间的代码全部删掉,这样就不会在启动时连带着之前已经清理掉的项目一起启动了。