应该是tomcat下部署了多个项目且都使用log4j。
<!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root"。但最好设置,以免项目之间的名称冲突。
定义以后,在Web Container启动时将把ROOT的绝对路径写到系统变量里。
然后log4j的配置文件里就可以用${webName.root }来表示Web目录的绝对路径,把log文件存放于webapp中。
此参数用于后面的"Log4jConfigListener"-->
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>/WEB-INF/log4j.properties</param-value>
</context-param>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>webName.root</param-value>
</context-param>
另一种解决办法就是在MyEclipse里面进行操作删除多余项目上的tomcat占用
如果用的是Eclipse的话 就在run项目的时候看看tomcat里面是不是布置了多个项目Remove掉多余的项目即可,详见下图, 比如我要跑的项目是“json”报了Choose unique values for the 'webAppRootKey' context-param in your web.xml files 错误,那么在下图中移除“SpringDemo”项目就可以解决问题了。