4

私は2つの日食プロジェクトを持っています。2 番目のものは最初のものに依存します。最初のプロジェクトの Java クラスの名前を変更しようとすると (プロジェクト エクスプローラーの Java ファイルの名前変更機能を使用)、そのプロジェクトのリファクタリングは正しく実行されますが、依存するプロジェクトは何も変更されません。

リファクタリングされたプロジェクトにリンクされているプロジェクトでも、名前変更機能に作用するようにEclipseに指示する方法はありますか? 手伝ってくれてありがとう。

私のEclipseバージョンはJunoです。

更新:
プロジェクトが SVN リポジトリにリンクされていることを忘れていました。多分それは関連しているかもしれません。

更新 2:
明確化の mliebelt 要求の後、詳細を追加します。
私の Eclipse バージョンは Juno、Eclipse Java EE IDE for Web Developers、ビルド ID: 20120614-1722 です。

subclipse、JRebel、m2e、Eclipse Web Tool Platform などのプラグインをインストールしました。
2 番目のプロジェクトは、Eclipse のプロジェクト依存関係として最初のプロジェクトにリンクされています。Java ビルド パスのプロジェクト タブに最初のプロジェクトを追加しました。名前の変更機能も含め、すべてが正常に機能しているようです。

次に、2 つのプロジェクトを 2 つの異なる SVN リポジトリに配置しようとしました。SVN サーバーに 2 つのリポジトリを作成し、自分のマシンにクライアント tortoiseSVN と Eclipse プラグイン subclipse をインストールしました。サーバー上のプロジェクトをEclipseから直接インポートすることに成功しなかったため、プロジェクトのフォルダーを別の場所にコピーし、プロジェクトをEclipseから削除しました。私は tortoiseSVN を使用してプロジェクトをインポートし、それぞれがプロジェクトと同じ名前のリポジトリにあり、プロジェクトをインポートして Eclipse に戻しました。そのために、「プロジェクトをワークスペースにコピー」オプションを選択して、Eclipseの「既存のプロジェクトをワークスペースにインポート」機能を使用しました。すべてが機能しているように見えますが、名前変更機能は機能していません。

4

2 に答える 2

1

それは(私にとっては)うまくいくので、動作を再現するために私が行ったことは次のとおりです。これがエラーを見つけるのに役立つことを願っています。

  1. 2 つのプロジェクトを作成し、2 番目のプロジェクトを最初のプロジェクトに依存させます。<code>Test2</code> の Java ビルド パス
  2. ソースコードを作成して、リファクタリングできるようにします。Test2のクラスが のクラスに依存していることを確認しTestます。
  3. 名前を変更するメソッドのコンテキスト メニューから選択します。そこにメソッドの新しい名前を入力すると、Previewオプションが使用可能になります。がチェックされていることを確認しUpdate referencesます。メソッド説明ダイアログの名前を変更する
  4. ボタンを押すPreviewと、リファクタリングによって変更されるクラスが表示されます。ここに画像の説明を入力

ご覧のとおり、それは私にとってはうまくいきます。あなたの文脈で何が違うのかを確認してください:

  • 異なる依存関係を定義する
  • 別のリファクタリングを使用する (バグが含まれている可能性があります)
  • ... ?

次に、2 つのプロジェクトを (ローカル) リポジトリに追加し (プラグイン Subversive を使用しますが、それが重要です)、リファクタリングを再試行しましたが、同じように機能します。「プロジェクトがSVNだと動かない」って何?プロジェクトは Eclipse 内にある必要があり、Subversion リポジトリで直接リファクタリングを行うことはできません。


エラーを再現するためにもう一度試みましたが、できませんでした。これが私にとってうまくいったことです(スクリーンショットは含まれていません):

  1. Eclipse から Java EE をインストール (バージョン Indigo)
  2. Eclipse Marketplace から Subclipse 1.8 をインストールしました。
  3. 以前のように 2 つのプロジェクトを定義しました。
  4. を使用して、プロジェクトをさまざまな Subversion リポジトリに追加しましたTeam > Share Project...> SVN > select the repository location > Finish
  5. 次に、2 つのプロジェクトを削除し、次の手順を実行してワークスペース内でインスタンス化しました。
    • に移動しSVN Repository Exploring perspectiveます。
    • ビューSVN Repositoriesでリポジトリの場所を開き、メニューから各プロジェクトを選択しますCheckout...
    • プロジェクトはワークスペース内で再インスタンス化され、2 つの間の依存関係は失われません。
  6. その後、上記のようにメソッドの名前を変更できます。
于 2013-03-14T15:33:20.237 に答える
0

Update2で​​説明されているワークフローの問題は、プロジェクトをEclipseにインポートして戻すときに、「既存のプロジェクトをワークスペースにインポートする」機能を使用したことです。

代わりに、以前に作成したリポジトリを選択して、 SVNのSVNチェックアウトプロジェクトを使用する必要がありました。

ここに画像の説明を入力してください

于 2013-03-18T10:51:08.867 に答える