[英]Eclipse - record and apply move and rename refactorings to another workspace
我目前正在開發一個大型java項目,其中有很多子模塊由不同的團隊處理。 其中一些團隊正在構建“框架”,其他團隊正在構建基於框架的“應用程序”。
當框架人員移動或重命名一個類時,應用程序人員無論在哪里使用重構的框架類都會遇到編譯錯誤。 Eclipse ( Galileo 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.