ごりぽんソフトウェア

2011-02-17

Pleiadesの自動デフォルト設定機能を利用してJDTの設定も自動設定してみる

前回はADTのデフォルト設定をどうにかしたわけですが、今度はJDTです。

ワークスペースの新規作成を行うたびにADTの設定が消えてしまっていたのは前回言った通りなわけですが、やはりというか当たり前というか、JDTの設定も消えていました。ぱっと見には問題が無さそうなんで気づきませんでしたが。

ようやく気づいたのが、プロジェクトのインポートをしたとき。コンソールに何やら変なエラーが表示されていました。

[2011-02-17 11:21:59 - ProjectName] Android requires .class compatibility set to 5.0. Please fix project properties.

このエラーが出ているために、プロジェクトがエラーだらけでビルドできません。なので、まずはインポートしてエラーが出てしまったプロジェクトの修復方法から。

  1. パッケージエクスプローラからインポートしたプロジェクトを選び右クリック→[プロパティ(R)]としてプロジェクトのプロパティダイアログを開きます。
  2. 左側のツリーの[Java コンパイラー]を選択し、右側にある[プロジェクト固有の設定を可能にする(O)]をON、[コンパイラー準拠レベル(I)]を[1.5]にして(もし元々[1.5]が選ばれていたらそれ以外の何かに変更して)、[適用(A)]をクリックします。
  3. [コンパイラー設定が変更]ダイアログが開き、プロジェクトをビルドするかどうかを聞かれるので[いいえ(N)]をクリックします。
  4. プロパティダイアログに戻るので、[プロジェクト固有の設定を可能にする(O)]をOFFに戻して、[適用(A)]をクリックします。
  5. [コンパイラー設定が変更]ダイアログが開くので、今度は[はい(Y)]をクリックします。
  6. [OK]をクリックして、プロジェクトのプロパティダイアログを閉じます。

これでプロジェクトのエラーが消えるので、後は普通に作業ができるようになります。消えていない場合は一旦Eclipseを終了させてみてください。

結局のところ、JDTの[JDK準拠レベル]の設定がデフォルトに含まれていないためにこんな現象が起きてしまうので、前回同様にデフォルトに設定ファイルをコピーしましょう。場所はワークスペースの中の".metadata\.plugins\org.eclipse.core.runtime\.settings"フォルダで、ファイル名は"org.eclipse.jdt.core.prefs"になります。これをEclipseの展開先フォルダにある".metadata.default"内の同じ位置("C:\Android\.metadata.default\.plugins\org.eclipse.core.runtime\.settings")にコピーしてやるだけです。

ただこのファイル、ワークスペースを使っているとデカくなるので、最小のものを生成させたほうが良いと思います。新規作成したワークスペースで、メニューから[ウインドウ(W)]→[設定(P)]として[設定]ダイアログを開き、[Java]→[コンパイラー]と選択して、何もせずに[OK]をクリック。これで新しいファイルが出来ているのでコピーします。*1

ちなみに最小ファイルの中身はこんな感じ。これだけあればインポート時のエラーは起きません。

org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
org.eclipse.jdt.core.compiler.compliance=1.6

私のところだと、24KB・300行くらいのファイルになってますけど(汗)。

*1:多分、このファイルを、インポートでエラーの起きているワークスペースの同じ位置にコピーすることでもエラーが起きなくなると思いますが、確認はしていません。