Java開発環境構築

2015年現在、方針としては以下の通り。

  • 普段使用するJRE/JDKはjava.comで一般に配布されるバージョンに合わせる
  • デスクトップ向けとサーバサイド開発はEclipse
  • Android開発はAndroidStudio
  • ビルドツールはGradle

以下、私的な環境構築メモ。

eclipseの環境設定

ダウンロード

Eclipse Downloads

パッケージはEclipse Committers(旧Eclipse Classic)を導入する。
Java開発をするんだからJavaのパッケージを選んでもいいんだけど、普段使わない余計なパッケージもごちゃごちゃついてくるのでいつもこちらを選んでいる。どの道プラグインは自分で導入するので、一番シンプルな構成のパッケージを選ぶ。
Eclipse Committersの場合はJDTとプラグイン周りのソースコードを閲覧できるので、そういう必要が生じたときにも便利。

特にこだわりがないなら

  • Windowsは32bit版
  • Macは64bit版

を選ぶとトラブルが少ない。 日本語化はしないでおく。Macだと若干Pleiadesの導入が面倒なのと、eclipse内でごたついたときに日本語化していると英語圏の情報を検索で引っかけにくいため。

ワークスペースの選択について

バージョンごとにワークスペースを変えたほうがいい。プロジェクトや設定のインポートをやり直さないといけないけど、旧バージョンとの設定の互換性でつまづくリスクを最小限に抑えられる。
同じ理由で、ワークスペースはDropbox等の共有フォルダに置かないこと。あるマシンのあるeclipseが単一のワークスペースを排他的に使えるようにするのが一番安全。
個々のプロジェクトはワークスペースの外にディレクトリを作ってそこにまとめて配置する。ワークスペース内にプロジェクトを作らないようにする。

各種の確認ダイアログについて

片っ端からnever ask again、always run in backgroundにしていく。開発中はこういう時間のロスも塵も積もれば山となるので。

プラグイン導入について

大抵のプラグインはeclipse marketplaceから落とせる。
一度何らかのプラグインに対してinstallを選択した後install moreを選択すると一度に多数のプラグインをインストールできるので手間が省ける。
今のところ常用してるプラグインは以下。

  • Quick JUnit

JUnitによるテストを支援するプラグイン。

  • Eclemma

JUnitテストによるコードカバレッジを算出するプラグイン。

  • Gradle IDE Pack

Gradleのビルドスクリプトを編集したり、Eclipseから走らせるプラグイン。

  • Doma Tools

http://dl.bintray.com/domaframework/eclipse/
DBアクセスフレームワークのDoma向けのユーティリティ。

設定について

プラグインを入れ終わってから変更する。プラグインの追加によってTemplates等が増えることがあるので。

  • General
    Always run in backgroundをOnにする。お好みで。

  • General > Editors > Text Editors
    重要。
    Insert spaces for tabsとShow line numbers、Show whitespace charactersをOnにする。

  • General > Editors > Text Editors > Spelling
    無効にする。

  • General > Editors > File Associations
    重要。
    *.md .gitignore *.sql をText Editorに関連づけしておく。

  • General > Appearance > Colors and Fonts
    Windowsの場合、フォントサイズを12まで上げるとよい

  • General > Workspace
    重要。
    Text File EncodingをUTF-8にする。必要があればline delimiterも変更する。

  • Java > Code Style > Formatter
    myjavaformatterをインポートして使う。

  • Java > Editor > Content Assist > Advanced
    要らないサジェストを消しておく。Java ProposalsとTemplate Proposalsを残せば問題ない。

  • Java > Installed JREs
    重要。
    正常に各種JDKが読み込まれているか、デフォルトのバージョンが意図したものになっているかを確認しておく。

テンプレートについて

何度も入力するコードは可能な限りテンプレートにするべき。開発効率が大きく変わる。
デフォルトテンプレート以外で常用するものはxml化して保存しておき、新しいeclipse環境を構築する際にはそれを読み込む。
eclipseの新規構築時にはJava > Editor >Template内のSWT絡みのテンプレートを全て消した後、自分用のテンプレートを読み込んでおく。
use formatterのチェックはオフにしておく。

複数のテンプレートを一括して読み込める手法があると早いんだけど、今のところ見当たらない。手作業で追加してる。

Viewについて

  • 左バー
    JavaのPackage Explorerにする。
    右上の下三角アイコンからTop level elementsをWorking Setsに、Package Presentationをhierarchicalに変更。
    filtersからdotfilesのチェックを外しておく。

  • 右バー
    Gradle TasksとOutlineのみ使う。

ワーキングセットの移行について

古いバージョンのeclipseだとmetadata内のxmlをコピーして簡単に移行できたらしいけどLuna以降ではできなかった。
ワーキングディレクトリの外でプロジェクトを管理しておいて、Import > Existing Projects into Workspaceで一括して読み込むのが早い。
その際ワーキングセットに対応したディレクトリ内にプロジェクトを配置しておくと便利。