最近在项目打好war包放在tomcat的webapps目录下运行时,日志中总会莫名其妙的有其他项目的定时任务启动。
下面是解决问题的过程
- IDEA中运行该项目时并没有启动定时任务,所以排除了项目出问题的可能。
- 查看tomcat的webapps目录下,并没有另一个项目的war包和文件。
- 将项目的war包和文件从tomcat的webapps中删除之后,重新启动tomcat,发现定时任务依然存在,查询日志后发现,另一个项目被启动了。可能是缓存之类的问题。
- 百度之后看到文章中有关ROOT文件夹的内容受到启发,进入ROOT后发现另一个项目文件。将ROOT目录删除之后,把本次项目war包放入webapps中,启动tomcat,项目启动成功,没有多余项目启动。
原因在于:启动tomcat 的时候,webapps目录下面的.war文件将被自动解压缩并部署为应用。同时mobile下的应用会copy到ROOT下。如果ROOT文件下不存在则mobile的应用(子文件)那么copy进去(问题就在这里
总结发生原因,应该是之前用tomcat启动另一个项目时,tomcat自动copy了一份项目到ROOT中,而手动删除项目时没有同时删除ROOT文件夹中的项目,导致tomcat运行时启动了已删除项目。