问题现象:每次tomcat启动,Java代码会被加载两次, 如果有定时器类的东西业务,那么定时器也会有两份在跑,会影响业务。
mm.war在tomcat/webapps下。tomcat/conf/server.xml的配置,配置如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="" docBase="mm" reloadable="false" />
</Host>
Tomcat启动后会自动解压mm.war为mm文件夹。
这样Host中的appBase="webapps"会让tomcat加载tomcat/webapps下所有目录,包括mm。访问路径是 http://192.168.0.1/mm。
Context中的docBase="mm"会让tomcat加载webapp下的mm目录,访问路径是: http://192.168.0.1/ 。
相当于一个工程加载两次。
解决办法:删除Context节点即可