4

私は現在、さまざまなチームによって作業されているかなりの数のサブモジュールを含む大きな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」プラグインが私が探している機能を提供していることがわかりましたが、JARはEclipseではなくMavenで構築しています。今、ソースコードを調べて、再利用できるパーツを見つけています。

4

1 に答える 1

1

ここでいくつかの閉鎖を得るために私自身の質問に答えます。

これを行う最も簡単な方法は、呼び出されMigrate JAR File...たでリファクタリングスクリプトを使用するリファクタリングを使用することです。Eclipseで使用すると、これが自動的に含まれるJARを取得できます。Mavenを使用してビルドするため、JAR内の適切な位置に配置します。META-INFREFACTORINGS.XMLExport JARRefactoring->Create Script...

Migrate JARが実行するJDT内部コードは、一時ソースフォルダーにソースクラスのスタブを作成するため、実際には最初にリファクタリングを実行してから、参照を更新します。ユーザーがこれらの一時ファイルを表示することはありません。

于 2012-06-12T11:11:51.017 に答える