由於,eclipse啟動tomcat部署項目並不是直接把項目放到tomcat的webapps目錄下的,而是從我們在eclipse配置的外部tomcat中取出二進制文件,在eclipse內部插件中作為tomcat啟動的。
簡單的說就是沒有部署到tomcat目錄下,而是到eclipse的workspace中了。我找到了eclipse部署的位置,拿我的位置舉例G:\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps,如果需要在eclipse中使用虛擬路徑來訪問tomcat容器外的資源的時候,需要修改tmp1/conf/server.xml

修改虛擬路徑參考我之前的文章:Tomcat配置虛擬路徑訪問容器外的硬盤資源
修改完畢后eclipse啟動tomcat,虛擬路徑的確起作用了,然而如果此時停掉了tomcat,然后重新啟動一次,虛擬路徑又失效了!
what happens?

如上圖,eclipse會在啟動tomcat的時候使用這些配置文件去替換掉server插件中的文件。
解決辦法有二:
1.直接在Servers下的servler.xml和web.xml中編輯
2.preferences-->server-->launching-->去掉Automatically publish when starting servers的勾選

兩種方法都可以解決這個問題,但是,推薦第一種方法,第二種方法可能會導致一些問題,比如remove了一個項目的部署,此時在server插件中還會運行該項目
