- 現象
- 三個文件夾 a、b、c,b/c 由 a 映射而來。修改 b/c 後運行
ant build.xml,a 目錄代碼未同步更新。
排查清單
- 檢查 build.xml 中的 copy 任務:確認
<copy> 目標路徑指向 a 目錄,且 overwrite="true"。
- 驗證映射關系:b/c 是否為符號鏈接或硬鏈接?Ant 默認不跟蹤鏈接,需顯式
followsymlinks="true"。
- 項目刷新機制:MyEclipse 需手動右鍵項目 → Refresh,或啟用「自動刷新」偏好設置。
- 工作空間同步:確認 a 目錄在工作空間內,或作為 Linked Folder 正確掛載。
- 增量構建觸發:Ant 外部構建不會自動觸發 Eclipse 增量編譯,需手動 Clean/Build。
建議最佳實踐
- 避免多目錄映射同一源碼,改用單一源碼目錄 + 模塊化構建。
- 若必須映射,編寫專用同步腳本(rsync、Gradle Sync 任務)替代手動 Ant。
- 提交代碼前在 MyEclipse 執行
Project → Clean → Build All 確保一致性。
總結
問題本質是構建工具與 IDE 文件系統視圖不同步。規範構建流程、統一源碼入口、啟用自動刷新可徹底規避。