将两个项目打成war包在tomcat下部署会出现一些问题,只有一个项目能部署成功。将两个项目导入到Eclipse中同时部署并启动Tomcat,经过测试报错如下:java.lang.IllegalStateException: Web app root system property already set to different value,它的意思是将Web app root系统属性设置为不同的值。
webAppRootKey是在java web项目的web.xml配置文件中表示项目的唯一标示,在Eclipse调试Web项目时,项目的路径是一个临时路径,不在真正的路径下。可以通过log4j日志的方式打印出属性值,来看看临时项目路径在哪里,可以用System.getProperty(“web.sample.root”);如果web.xm 内没有设置webAppRootKey项,是为默认设置,那么webAppRootKey就是缺省的“webapp.root”。
Spring通过org.springframework.web.util.WebAppRootListener这个监听器来压入项目路径。但是如果在web.xml中已经配置了org.springframework.web.util.Log4jConfigListener这个监听器,则不需要配置WebAppRootListener了。因为Log4jConfigListener已经包含了WebAppRootList