溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web.xml <context-param>只能放一對<param-name>和<param-value>

發(fā)布時間:2020-08-08 04:59:45 來源:網(wǎng)絡(luò) 閱讀:6002 作者:wangtenfee 欄目:開發(fā)技術(shù)

在tomcat里配置多個實例時,不能使用默認的webAppRootKey,需要明確在web.xml里配置webAppRootKey值,否則在啟動時會報錯,報錯如下示

嚴重: Exception sending context initialized event to listener instance of class ch.qos.logback.ext.spring.web.LogbackConfigListener
java.lang.IllegalStateException: Web app root system property already set to different value: 'webapp.root' = [C:\apache-tomcat-8.0.32\webapps\weblearn\] instead of [C:\apache-tomcat-8.0.32\webapps\weblearn3\] - Choose unique values for the 'webAppRootKey' context-param in your web.xml files!
	at org.springframework.web.util.WebUtils.setWebAppRootSystemProperty(WebUtils.java:162)
	at ch.qos.logback.ext.spring.web.WebLogbackConfigurer.initLogging(Unknown Source)
	at ch.qos.logback.ext.spring.web.LogbackConfigListener.contextInitialized(Unknown Source)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
	at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:585)
	at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1794)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.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>

重啟服務(wù)器后發(fā)現(xiàn)沒有上面的報錯了,但是服務(wù)器日志卻不生成到文件里了,于是判斷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>

問題解決

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI