项目本地时正常运行,但发布到服务器后,某个资源获取总是错误,检查后发现项目在tomcat启动时重复加载了数次导致的,以下为解决方式:
错误配置:
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt" /> </Host> <Host autoDeploy="true" name="admin.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/am" path="" reloadable="true" /> </Host> <Host autoDeploy="true" name="su.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/au" path="" reloadable="true" /> </Host> <Host autoDeploy="true" name="app.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/ap" path="" reloadable="true" /> </Host>
正确配置:
<Host appBase="/" autoDeploy="true" name="localhost" unpackWARs="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log" suffix=".txt" /> </Host> <Host appBase="/www/server/tomcat/webapps/au" autoDeploy="true" name="su.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/au" path="" reloadable="true" /> </Host> <Host appBase="/www/server/tomcat/webapps/ap" autoDeploy="true" name="app.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/ap" path="" reloadable="true" /> </Host> <Host appBase="/www/server/tomcat/webapps/am" autoDeploy="true" name="admin.yzctln.cn" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> <Context crossContext="true" docBase="/www/server/tomcat/webapps/am" path="" reloadable="true" /> </Host>
将原有的host的appBase="webapps",修改为appBase="/",项目appBase改为项目路径,重启tomcat,问题解决了。具体原因不太清楚,主要是根据网络上查看的资料和一些猜测解决的。有知道的还请私信指教。