我在eclipse的package explorer的src目錄下創建一個xml文件。
正如我們所知道的,一般情況下eclipse的package explorer的src目錄下的xml文件來自對應eclipse的workspace下的對應工程的src目錄下的對應文件,這很好理解。如圖:
當開啓tomcat後,workspace/項目名/src下的那個xml文件也會佈局到tomcat目錄下的WEB-INF目錄下。
此時,在修改eclipse的package explorer的src目錄下的xml文件的內容時,tomcat目錄下對應的文件內容就會同步。
但是,通過服務器的活動修改tomcat目錄下的xml文件,或者手工打開tomcat目錄下的xml文件進行修改後(儘管很多人都不會這麼做),eclipse的package explorer的src目錄的xml文件一般是不會自動同步的。
很多人忽略了這一點:修改的只是tomcat目錄下的xml,而eclipse的package explorer的src目錄的對應xml其實並沒有改變,重新加載tomcat後,eclipse的package explorer的src目錄的xml上的就還會覆蓋tomcat目錄下的xml一次,最終就會導致數據的丟失。
比如假如eclipse的package explorer的src目錄的xml內容寫的是A,開啓tomcat後,tomcat文件夾對應的xml內容也加載爲A。然後我把tomcat文件夾對應的xml的內容改爲B,然而eclipse的package explorer的src目錄的xml內容不會自動同步爲B仍然是A。然後我重新將工程佈局到tomcat,tomcat文件夾對應的xml的中的內容就會用A覆蓋B,導致剛纔B的數據失去了。
有人說eclipse的package explorer的src目錄的文件和eclipse的workspace/工程名/src下的文件不是同一個文件嗎?
我覺得其實不是。
如果手工修改eclipse的workspace/工程名/src的xml文件,比如我增加了紅色圈住的那行代碼並且保存
然後回到eclipse會看到:
你點擊YES的話,自然會把workspace/工程名/src的xml文件內容同步到eclipse裏面
但是你點擊NO的話
eclipse中的內容就不會同步,並且可以在編輯器中保存(看到左上角users.xml的左邊沒有*嗎?這說明我在eclipse已經按下了ctrl+s保存,是可以保存的)
所以此時eclipse顯示的內容應該是存在內存中,而不與硬盤中workspace的對應文件的內容相同了
不過右鍵eclipse的package explorer的src目錄下的項目選擇refresh就能讓eclipse編輯器顯示的xml文件內容向workspace的對應文件的內容同步了
初學java,抱着學習的心態;不正之處,請多指正!