13

昨日、プロジェクトをリファクタリングし、パッケージのレイアウトを変更しました (いくつかのパッケージを別のパッケージに移動したり、新しいパッケージを作成したりしました)。しかし今、JUnit テストを実行しようとするとNoSuchMethodError、リファクタリング後に名前が変更されたメソッドが表示されます。また、メソッドで他のコードを変更すると、IDEA はまだ古いコードを実行しています.. [ファイル] メニューで [キャッシュの無効化] を実行しようとしましたが、コンピューターを再起動しようとしましたが、結果はありませんでした。どこに問題がありますか?

.java編集:昨日パッケージを移動した後、IDEAはファイル内のパッケージ宣言を正しく変更しないため、手動で変更しました

4

9 に答える 9

8

VCS -> Refresh File Status は、Intellij が突然変更に気付かなくなったときに、これを解決しました。

于 2014-10-08T15:14:29.910 に答える
4

解決:

エラーは魔法のように2つのことの後になくなりました:

  1. このプロジェクトを Eclipse にインポートし、Eclipse から JUNit テストを実行しました。その後、IDEA に戻り、Eclipse 固有のファイルをすべて削除しました。

  2. プロジェクトを同期しました (File->Synchronize)。

実際に問題の解決策が何であったかはわかりませんが、提案のために@SeanLandsmanの回答を受け入れます

于 2013-02-22T10:28:40.607 に答える
2

ここで試すことができる2つの提案があります

  • テスト構成を編集し、それらが期待どおりのものを指していることを確認してください。実行構成でリファクタリングが検出されず、手動で変更する必要がある場合があります。
  • うまくいく可能性は低いですが、プロジェクトを同期してみてください: File->Synchronize. プロジェクトの最上位レベルでこれを行います

あなたの編集に関して - 私はこれを自分で見たことがありません。ファイル (パッケージを含む) の名前を変更したり移動したりするたびに、これらの変更は適用可能なすべてのファイルに正しく適用されています。Refactor>Move / Refactor->Copy でリファクタリングしていますか?

于 2013-02-22T10:12:44.220 に答える