web.xml <context-param>只能放一对<param-name>和<param-value>
在tomcat里配置多个实例时,不能使用默认的webAppRootKey,需要明确在web.xml里配置webAppRootKey值,否则在启动时会报错,报错如下示
严重:Exceptionsendingcontextinitializedeventtolistenerinstanceofclassch.qos.logback.ext.spring.web.LogbackConfigListenerjava.lang.IllegalStateException:Webapprootsystempropertyalreadysettodifferentvalue:'webapp.root'=[C:\apache-tomcat-8.0.32\webapps\weblearn\]insteadof[C:\apache-tomcat-8.0.32\webapps\weblearn3\]-Chooseuniquevaluesforthe'webAppRootKey'context-paraminyourweb.xmlfiles!atorg.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:162)atch.qos.logback.ext.spring.web.WebLogbackConfigurer.initLogging(UnknownSource)atch.qos.logback.ext.spring.web.LogbackConfigListener.contextInitialized(UnknownSource)atorg.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812)atorg.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255)atorg.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)atorg.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)atorg.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)atorg.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)atorg.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)atorg.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)atjava.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)atjava.util.concurrent.FutureTask.run(FutureTask.java:266)atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)atjava.lang.Thread.run(Thread.java:745)
所以在web.xml里配置了webAppRootKey,因为之前配置了logback的配置,于是将webAppRootKey的配置与logback的配置放在一起,如下示.
<context-param><param-name>logbackConfigLocation</param-name><param-value>/WEB-INF/config/logback3.xml</param-value><param-name>webAppRootKey</param-name><param-value>weblearn3.root</param-value></context-param>
重启服务器后发现没有上面的报错了,但是服务器日志却不生成到文件里了,于是判断context-param只能放一对param-name和param-value,最后修改如下
<context-param><param-name>webAppRootKey</param-name><param-value>weblearn3.root</param-value></context-param><context-param><param-name>logbackConfigLocation</param-name><param-value>/WEB-INF/config/logback3.xml</param-value></context-param>
问题解决
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。