Eclipse 4.4でAndroidアプリがビルドできなくなりました
事の起こりは突然.特定のAndroidプロジェクトがビルドできなくなった.
エラーメッセージ
下記の通り
ビルド中にエラーが発生しました。
プロジェクト 'hogehoge' でビルダー 'Java ビルダー' の実行中にエラーが発生しました。
org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding
プロジェクト 'hogehoge2' でビルダー 'Java ビルダー' の実行中にエラーが発生しました。
org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding
また,エラーを起こしているソースコードの先頭で
内部コンパイル・エラー: java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/lookup/UnresolvedAnnotationBinding
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createUnresolvedAnnotation(LookupEnvironment.java:657)
と表示されている
心当たり
どちらも ButterKnife を用いた物なので,そのあたりが怪しいと思って探りを入れていました.(エラーを起こしているソースもButterKnifeのアノテーションを用いたもの)
結果,プロジェクトのプロパティ -> Javaコンパイラー -> 注釈処理の「注釈処理を使用可能にする」のチェックを外すと正常にコンパイルできることを確認.
しかし,当然ButterKnifeは利用できなくなります.
それはこまる…
試したこと
- ソースコードのクリーン
- リポジトリの物と同一に
- Eclipseの再起動
- プロジェクトのリオープン
- プロジェクトのクリーン
- Eclipseのクリーン起動
しかし一向に改善せず.Eclipseの再インストールまでしないといけないかなーと思ってます(めんどくさい上に直る保証が無いのがつらい)
ちなみにJenkinsによるビルドには成功しています.
とりあえず同じような症状が報告されている例が見当たらなかったので記事を作りました.
Eclipseを別途インストールし直して,改善したかどうかまた報告します.
別のEclipseを入れました
ちょっとつまづいたけど 同じワークスペースを参照させるとちゃんとビルドできました.
とはいえ,根本的な原因は不明なまま…