使用WTP中的run on server來(lái)調(diào)試web程序時(shí),按照默認(rèn)的配置,會(huì)把該程序放在根目錄,即context為"/",啟動(dòng)的時(shí)候會(huì)加載兩次,如果有ServletContextListener的話,里面的東西就會(huì)運(yùn)行兩次;如果修改配置,通過(guò)Project->Property->Web Project Settings,把Context Root改為web project名的話,運(yùn)行的時(shí)候就不會(huì)把ServletContextListener加載兩次,不過(guò)除了正常加載指定的web程序外,還會(huì)試圖加載一個(gè)不存在的context,導(dǎo)致拋出ClassNotFoundException異常,不過(guò)不影響使用,后來(lái)發(fā)現(xiàn)這是WTP的bug,不過(guò)描述的好像跟我遇到的情形不太一樣。
http://dev.eclipse.org/newslists/news.eclipse.webtools/msg09647.html
https://bugs.eclipse.org/bugs/show_bug.cgi?id=125364