除錯日誌:關於Eclipse複製貼上工程名報錯的消除
阿新 • • 發佈:2019-01-02
直接在Eclipse中複製貼上動態網站專案(Web Dynamic Project)後,另存的新專案在伺服器執行(Run on Server)時會報錯,提示Context重複了:
圖1 直接運行復制後的專案會報錯
網上查了一下相關資料,有一種辦法是直接修改server.xml配置檔案,將重複的<Context>節點中的名稱和路徑改為新專案對應的值。雖然修改後可以直接執行,但Servers選項卡中的新專案名會多一個括號,顯然這種修改方式不徹底:
圖2 Servers選項卡顯示名稱仍有問題
再次上網查資料,經測試,只需改動一個檔案就行了。開啟報錯工程的.settings資料夾,找到一個名為org.eclipse.wst.common.component的檔案,在Eclipse中開啟:
圖3 在Eclipse中開啟component檔案
然後替換掉所有的原工程名相關內容:
圖4 修改後的component檔案
最後,儲存設定、重新整理專案、刪除Servers選項卡中的問題工程,重新執行,報錯消除,且顯示正常:
圖5 重新在伺服器上執行,一切正常
經驗小結:
org.eclipse.wst.common.component檔案規定了專案怎麼組裝成一個webapp,一般不直接複製。當Eclipse中直接複製貼上原專案後,會把之前的component檔案也被原樣保留下來。但新專案對應的deploy-name、一些屬性的value值等都發生了變化,必須手動更新這些與專案名稱相關的資訊,才能避免執行時與原專案重複、顯示名稱異常等問題。