sifue's blog

プログラマな二児の父の日常 ポートフォリオは www.soichiro.org

MacOSXでのEclipse3.7.2の日本語のJava開発環境の構築

かれこれ大学院時代から2年、社会人で5年、計7年近くEclipseを使ってきているわけですが、4月が近づいて新人向けのエントリーがここ多いので、自分がやってきたMacOSX Lionにおける 日本語のEclipseJavaの開発環境構築方法を紹介しようと思います。


まずはMacOSXJavaのインストールの確認です。
Ctrl+SpaceでSpotlightを立ち上げて

terminal

と打ってターミナルを選択の後、

java -versionと打ってJavaがインストールされているか確認しましょう。

$ java -version
java version "1.6.0_29"
Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11D50b)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

以上のようにバージョンが表示されればOKです。

ちなみに前置きですが、開発で使うJavaのバージョンはしっかり確認しておきましょう。Java開発と聞いてコードを書いてたら、1.5でしたというオチはかなり悲しいです。Java後方互換性の高い言語ではありますが、さすがに、1.6の機能を1.5とかでは使えません。
なお、プロジェクトによってはOpenJDKやSunJDK1.4またIBMJavaやそもそもJava7を利用する場合もあるので、まずはしっかりと必要なJavaのバージョンとJDKを用意しましょう。特に何もなければデフォルトのJavaで良いと思います。


あと忘れがちなのがCtrl+Spaceの設定です。Eclipseの一番イケてる機能はコードアシストなのですが、その機能はCtrl+Spaceで利用したりします。実はそのショートカットがOSXのデフォルトの設定と競合しています。

というわけで、MacOSXSpotlightのショートカットをCtrl+Shift+Spaceに変更します。

システム環境設定のSpotlightSpotlightメニューの下側にあるキーボードショートカットと書かれているところから設定できます。


というわけで、しっかり開発に必要なJavaのインストールを確かめ、Spotlihgtのショートカットの設定もしたらEclipse本体のダウンロードです。

Eclipse Downloads
http://www.eclipse.org/downloads/

から、Eclipse IDE for Java EE DevelopersのMacOSX64bit(Cocoa)版の最新を取得します。


なおJavaEEJavaのデータベースを扱うWebアプリケーション開発に必要なプラグイン一式となっているので、これを使います。JavaScriptを書いたりDBの中身を見ることがある可能性があれば、Java Developpersよりこちらを選択したほうが良いと思います。

eclipse-jee-indigo-SR2-macosx-cocoa-x86_64.tar.gz

をダウンロード、解凍したら、

eclipse

というフォルダになるのでそれを

eclipse3.7.2_jee

に名称変更してアプリケーションフォルダに移動します。


これは、プラグインを入れてくとEclipseが大変重くなったりした際に分けたいのと、ScalaなどのJVM上で動く他の言語のプラグインEclipse特定のバージョンでないと動かないなどがあるので、あらかじめEclipseを分けて管理するためです。


まずは日本語化です。Pleiadesという日本語化済み&日本語辞書翻訳を自動的にやってくれるパッケージもありますが、Windowsでしか検証されてないプラグインが入ったり、そもそもうまく動かなかったりする場合もあるので、いつも自分で日本語のフラグメントをインストールします。(EclipseWindowsでしか使わないと思われてる...)


Eclipse 日本語化言語パック (サードパーティ版)
http://www.igapyon.jp/blanco/nlpack/eclipse/index.html

ここで最新の、自分の落としたパッケージのものをダウンロードします。自分は、

NLpackja-eclipse-java-galileo-SR1-blancofw.zip

をダウンロードします。
実は、Eclipse BABELという翻訳プロジェクトがありますが、ここの方が最新版で、あとでBABELの方に適用されています。


解凍したら、

eclipse

というフォルダになるのでそれを

NLpackja-eclipse-java-galileo-SR1-blancofw

以上のように、元のzipファイル名に名称変更して

eclipse3.7.2_jee/dropins

フォルダの中に移動します。


その後、

eclipse3.7.2_jee/eclipse.app

を右クリックメニューでパッケージの中身を表示し、

Contens/MacOS/eclipse.ini

テキストエディタで開いて、-vmargsの後などに-nl ja_JPの行を挿入します。

-vmargs
-nl ja_JP
-Dosgi.requiredJavaVersion=1.5
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts

省略してありますが、-vmargs以降の行が以上のようになります。


最後に、Eclipse.appも今後eclipseが増えてくるとMacのDockから確認しずらくなるので、

eclipse3.7.2_jee/Eclipse3.7.2_jee.app

と変更しておき、Eclipse3.7.2_jee.appを使います。


最終的な、フォルダ構成や見え方はこのスクリーンショット のようになります。

これで日本語化は終了なので起動して、今度はプラグインをインストールしていきます。


まず、Eclipse3.7.2_jee.appを起動します。
ワークスペースが聞かれますが、過去のEclipseで使っていたものを利用すると自動的にバージョンアップしてくれます。初めてなら適当にワークスペースフォルダを用意します。


自分はMacが複数あることもあって、ワークスペースDropboxに置いているので

/Users/soichiro/Dropbox/Dev/eclipse/workspace_heroku

などとしています。別に自由でOKです。
ただワークスペース名は、workspace_hogehogeという名前にしておかないと誤って消したりするので、このほうが良いです。入力すると自動的にフォルダを作ってくれます。

以上のようなスクリーンショットになります。
OKを押した後、ようこそ画面が表示されますが、閉じて構いません。
Eclipseの使い方はヘルプから飛べるドキュメントを読んだり、ググったりしてみましょう。


無事ワークスペースを起動したら、今度はプラグインのインストールです。
ヘルプ > 新規プラグインのインストールから以下のURLを作業対象に入れて、対象のプラグインを選択し、次へを押してインストールをしていきます。


ちなみに言語パックのように直接dropinsフォルダにプラグインを突っ込むインストール方法もありますが、依存関係で必要なものなどがインストールされず、うまく行かないときはデバッグが必要なので、この方法で入れた方が無難です。否応なしに入れておいた方が良いものは以下です。


FindBugs (バグを検出するJavaソースコードの静的解析ツール)
アップデートサイト

http://findbugs.cs.umd.edu/eclipse


Subversive (ソース管理システムSubversionのクライアント)
EGit (ソース管理システムGitのクライアント)
m2e (ビルドツールMavenを利用するプラグイン)
mylyn (チケット管理システムとソースコードを結びつけるシステム)
アップデートサイト

http://download.eclipse.org/releases/indigo





自分は以上のような構成で入れます。
なお、Eclipseの再起動を求められるがそのたびに行います。何度か再起動するものもあります。結構時間がかかるので要注意です。
Subversiveは再起動時にコネクタのライブラリをインストールするかと聞かれますが、利用するSVNのバージョンなどがわからなければとりあえず最新のSVN Kitをインストールしましょう。あとで変えることもできます。


以下各プラグインの説明です。
FindBugsは静的なソース解析ツールです。かならずソースを書いたら右クリックメニューからFindBugsをかけましょう。Javaの初歩的なコーディングミスを検知してくれます。
SubversiveとEGitは、Subversion、Gitというは言わずと知れた有名なソース管理システムを利用するためのプラグインです。
m2eはビルドツールMavenを使うためのプラグインです。なお、EclipseにはANTというゴリゴリJarファイルを作成するスクリプトを書くビルドツールもあり、自分は惰性でよくそっちを使っています。特殊なビルドをしない限りは自動で依存関係解決して、らくらくビルドできるMaven使ったほうが良いです。
mylynは非常に便利なチケット管理システム連携ツールで、チケット管理システムからチケットをダウンロードして、それをやっていると宣言して作業することで、ソースコードのコミット時、修正コメントに「このチケットのために修正したよ」というような内容とURLを自動で残してくれたり、ソースコードの修正時に修正者がどのソースコードを見ながら作業していたかなどのコンテキスト情報をチケット管理システムに添付ファイルとしてアップロードしてくれます。TracやBugzillaと連携でき、大規模開発のソースの品質を大きく上げてくれます。


なお、gitとmavenのインストールの仕方は、

MacPortsでgitをインストール
http://hikariworks.jp/blog/2008/06/18/macports%E3%81%A7git%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB/

MavenのInstallation Instructions
http://maven.apache.org/download.html

今はMacPortsよりもHomeBrewかもだけれど、以上を参考に。
(自分は、MacデフォルトのApachePHPを使わず干渉しないようにMacPortsメインで使ってます)


あと、必要ならば入れるものです。


Google plugin (Google App EngineGoogle Web Toolkitのためのプラグイン)
http://dl.google.com/eclipse/plugin/3.7


などがあります。これは完全に自分用ですw。Google PluginはSDKもイントールしようとしますが、プラグインの自動バージョンアップで壊れることもあるので、別途ダウンロードしたものを固定して使っています。完全にcharactorbot用ですねw Androidの開発環境を作るときなどはここでADTをインストールしたりします。
その他のプラグインは随時必要になればインストールします。


以上で、開発環境の構築は終了です。いつも自分は大体こんな構成で開発しています。
あとワークスペースごとの設定でいじっている部分といえば、テキストエディタの行数を表示させる設定ぐらいでしょうか。あと、プロジェクトによっては、コードテンプレートやコードフォーマッターを設定したりしています。個人開発の際は、デフォルトでやっています。


charactorbotの開発してるワークスペースの雰囲気はこんな感じです。ノートPCだと狭いのでアウトラインビューを左に持ってきていたり、デバッグビューを表示させたりしています。


あとはプロジェクトをSVN、Git、CVSなどからダウンロードして開発したりオープンソースのソースリーティングしたり、自分で新しくプロジェクトを作ってJavaの開発を楽しんで下さい。最近Eclipseも3.7.1からJava7に対応しているのでそろそろいじってみようと思っている自分です。


お疲れ様でした。