作成したEclipseプラグインをデバッグすると、メソッドが存在するのにNoSuchMethodErrorが出る場合
Eclipseのプラグイン開発における小ネタ。
何回かデバッグしていたらNoSuchMethodErrorが出て、実行できなくなった
プラグイン実行時に叩くActionクラスのIFを変更したり、色々試行錯誤していたら、何度目かのデバッグで
IViewPartを実装したクラス中に存在するメソッドの実行時にNoSuchMethodErrorが出るようになった。
Actionクラス、Viewクラス、どちらのメソッド名を変更してみても、状況は変わらなかった。
対策
以下に存在した「.snap」ファイルを削除することで、正常に動作させることができた。
※runtime-Eclipseアプリケーションは、デバッグ中に起動するEclipseのworkspace。
runtime-Eclipseアプリケーション\.metadata\.plugins\org.eclipse.core.resources
runtime-Eclipseアプリケーション\.metadata\.plugins\org.eclipse.core.resources\.projects
runtime-Eclipseアプリケーション\.metadata\.plugins\org.eclipse.core.resources\.projects\<各サブディレクトリ>
サブディレクトリに存在する「.snap」のファイル名は、「.markers.snap」や「.syncinfo.snap」になっている。
全て削除後、再度デバッグを実行するとNoSuchMethodErrorが発生しなくなった。
参考
ちなみに
Eclipseのプラグインは、フォルダに配置しても認識されないことがある。
「エラー・ログ」ビューを表示することで原因がわかることもあるが、エラーすら出ていない場合もある。
その場合、(もしかしたらどうにかすることができるのかもしれないが、)Eclipseを新しくセットアップして対応するしかなくなるときがあるので、大きめのプラグイン導入前は、Eclipseをworkspaceごとコピーして、バックアップを作成しておくと、万が一の事態に対処できるのでお奨め。
だが、もしかしたらこのプラグインが認識されない問題も「.snap」を削除することで対応できる場合があるのかもしれない。プラグインがうまく認識されなくなった場合は、「.snap」ファイルができていないか確認してみるのは、対処としてありだと思う。
Author And Source
この問題について(作成したEclipseプラグインをデバッグすると、メソッドが存在するのにNoSuchMethodErrorが出る場合), 我々は、より多くの情報をここで見つけました https://qiita.com/seri/items/99fa2f66c03ecb55e523著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .