簡體   English   中英

Eclipse - 記錄並應用移動並將重構重命名為另一個工作區

[英]Eclipse - record and apply move and rename refactorings to another workspace

我目前正在開發一個大型java項目,其中有很多子模塊由不同的團隊處理。 其中一些團隊正在構建“框架”,其他團隊正在構建基於框架的“應用程序”。

當框架人員移動或重命名一個類時,應用程序人員無論在哪里使用重構的框架類都會遇到編譯錯誤。 EclipseGalileo Release )中是否有一種方法可以記錄更改並更新另一個工作區中的引用?

到目前為止我嘗試過的是在重命名重構期間創建重構腳本,但是當我嘗試將該腳本應用到另一個工作區時,它失敗了The refactoring 'Rename Type' (org.eclipse.jdt.ui.rename.type) cannot be performed, since its input 'xxx.TestClass" does not exists 。好吧,它不存在(不再)好了,但我想要的是我的項目中xxx.TestClass所有引用都改為xxx.MyRenamedTestClass Eclipse中是否有辦法使用內置功能或現有插件來執行此操作,還是我必須自己編寫一個?

謝謝你的幫助!

編輯:到現在為止我發現“Migrate JAR”-Plugin提供了我正在尋找的功能,雖然我們用Maven而不是Eclipse構建我們的JAR。 我現在要瀏覽源代碼,找出可以重用的部分。

回答我自己的問題來解決這個問題。

最簡單的方法是使用Migrate JAR File...重構,它使用META-INF的重構腳本REFACTORINGS.XML 您可以使用Eclipse中的Export JAR自動獲取包含此Export JAR 我們使用Maven構建,因此只需執行Refactoring->Create Script...並將其放入JAR中的適當位置。

遷移JAR執行的JDT內部代碼為臨時源文件夾中的源類創建Stub,因此它實際上首先執行重構,然后更新引用。 用戶永遠不會看到這些臨時文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM