今天由于定时任务被执行两次发现这个问题是因为springboot被启动了两次,百度了一下有几种解决办法:
1.把appBase置空,然后配置Context,但是因为项目是war需要热部署,所以这种方式不可行;
2.去掉Context配置,但是项目需要域名访问时直接指向项目目录,所以这种也不可行;
3.去掉pom.xml内的tomcat配置,KuaizuanApplication去掉extends,我发现去掉后tomcat跑步起来了,这种也不行;
最终经过几个钟头的尝试和百度,我终于发现了解决办法;
如下:把war包直接改成ROOT.war,然后不要配置Context,这样既可以通过域名直接访问项目的servlet,有解决了启动两次的问题;最终配置如下
<Host name="snrtsm.cn" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
<!--
<Context docBase="" path="/" reloadable="true" />
-->
</Host>