首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Eclipse插件開發實戰:實現資源刷新與專案重新編譯 (Clean Build)

     編輯:Java 相關知識

開發自動生成代碼/UML 轉代碼插件時,常需觸發資源刷新與專案重編譯。核心 API 解析:

一、資源刷新

關鍵介面:org.eclipse.core.resources.IResource

// 遞歸刷新資料夾及所有子資源
resource.refreshLocal(IResource.DEPTH_INFINITE, null);

實作介面繼承體系:

  • IResource (根)
  • IContainer → IResource
  • IFile / IFolder / IProject / IWorkspaceRoot → IContainer

對應具體類:Resource → Container → Folder/Project/WorkspaceRoot、File。凡實作上述介面者皆可呼叫 refreshLocal。

二、重新編譯 (Clean Build)

// 全工作區 Clean Build
ResourcesPlugin.getWorkspace().build(
    IncrementalProjectBuilder.CLEAN_BUILD, monitor);

// 單一專案 Clean Build
((IProject) selection[i]).build(
    IncrementalProjectBuilder.CLEAN_BUILD, 
    new SubProgressMonitor(monitor, 1));

IncrementalProjectBuilder 另支援 FULL_BUILD (完整建構)、INCREMENTAL_BUILD (增量建構)、AUTO_BUILD (自動建構)。進度監視器 SubProgressMonitor 可分配進度權重。

實戰提示

  • 自動生成代碼後,先 refreshLocal 再 build 確保編譯器看到新檔案
  • 大量檔案操作建議用 WorkspaceModifyOperation 包裝,支援 Undo/Progress UI
  • 避免在 UI 執行緒長時間阻塞,使用 Job 或 WorkspaceJob 異步執行
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved