レベル: 中級 John Fronckowiak (john@idcc.net), President, IDC Consulting Inc.
2007年 07月 24日 Mac OS X は、Java™ 開発のための強力なプラットフォームです。Java 開発環境は Mac OS X に完全に統合されていますが、Eclipse 統合開発環境 (IDE) を使えば、一貫したクロスプラットフォームな体験を実現する完全に統合された Java 開発環境を Mac OS X にもたらすことができます。この記事を読んで、Eclipse IDE を使用して既存の Xcode プロジェクトを Eclipse にインポートする方法、キーの割り当てを調整する方法、そして Eclipse を Mac OS X にバインドされた CVS (Concurrent Versions System) に統合する方法を学んでください。
クロスプラットフォームの Java プロジェクトに取り組んでいる Mac OS X Java 開発者であろうと、UNIX® ベースのコアが理由で Mac OS X に切り替えている Linux® 開発者であろうと、あるいは Mac OS X を対象としたアプリケーションの開発を目指している一般的な Java 開発者であろうと、それぞれの開発のニーズにあったソリューションをもたらす Eclipse IDE は注目に値するはずです。Mac OS X ではその主要な Java 開発 IDE として Xcode を用意していますが、Eclipse が提供する一層堅牢なクロスプラットフォーム開発環境には、レポート作成、データベース・アクセス、通信、グラフィックなどのアプリケーション・フレームワーク、そしてアプリケーションをビルドするためのリッチ・クライアント・プラットフォーム・フレームワークが備わっています。
Linux で Eclipse を使った経験があれば、Mac OS X で Eclipse を使うのもわけありません。インストールは至って簡単です。まず、Eclipse ダウンロード・ページ (「参考文献」を参照) にアクセスして Java 開発者向け Mac OS X バージョンの Eclipse IDE をダウンロードします。gzip 形式の .tar ファイルをダウンロードしたら、このファイルを Eclipse という名前のフォルダーに解凍してください。このフォルダーを、Finder を使って Applications フォルダーにドラッグ・アンド・ドロップし、Eclipse アプリケーションをダブルクリックすれば、Eclipse が起動します。
別のプラットフォームで Eclipse を使ったことがある人にはお馴染みのウィンドウが表示されます。Xcode (Mac OS X 付属の開発 IDE) を使用して開発を行う場合にはプロジェクトがホーム・ディレクトリーに保存されるのが通常ですが、Eclipse では Documents ディレクトリー内に自動的にワークスペースが作成され、デフォルトではすべてのプロジェクトがこの場所に保存されます。
既存の Xcode プロジェクトをインポートする方法
例えば、Xcode で作成した Java プロジェクトを Eclipse にマイグレーションしたいとします。嬉しいことに、Eclipse には既存のアプリケーションを非常に簡単にマイグレーションすることができます。その手順は以下のとおりです。
- Eclipse で、新規 Java プロジェクトを作成します。
-
File メニューから New Project を選択します。
-
New Project ウィンドウで Java Project ウィザードを選択し (図 1 を参照)、Next をクリックします。
図 1. Java Project ウィザードの選択
- 新規プロジェクトの名前を入力し、Create project from existing source を選択します (以下の図を参照)。
図 2. 既存のソースからの Java プロジェクトの作成
-
Browse をクリックして、既存のプロジェクトが配置されているディレクトリーの場所を探します。この場所は通常、ホーム・ディレクトリー内にあります。
-
Finish をクリックするか、あるいは新規プロジェクトの構成を続ける場合は Next をクリックします。デフォルトでは、Eclipse がプロジェクト・ディレクトリー内にあるすべての .java ファイルを自動的にコンパイルします。
- コンパイルが確実に行われるようにするため、Project > Build Automatically を選択します。Eclipse がアプリケーションをコンパイルすると、Eclipse IDE ウィンドウの下部にある Problems ビューにエラーまたは問題が表示されます (図 3 を参照)。Problems タブが表示されていない場合は、Window > Show View > Problems を選択してください。
図 3. Eclipse ワークスペース
注: 既存の Xcode アプリケーション・テンプレートを使ってアプリケーションを作成すると、複数の警告が表示されるかもしれません。この例では、図 3 でインポートしたプロジェクトは Xcode Swing テンプレート・プロジェクトをベースにしているため、クラスが static final serialVersionUID を宣言していないことを示す警告が複数表示されます (この警告が重要になるのは、クラスをシリアライズする予定でいる場合のみです)。これらの警告が煩わしいと思ったら、Problems ビューから削除する簡単な方法があります。
-
Eclipse > Preferences を選択して Preferences ウィンドウを表示します。
- 左側のペインで Java 、Compiler の順に展開し、Errors/Warnings をクリックします。
- 右側のペインで、Potential programming problems を展開します (以下の図を参照)。
図 4. Problems ビューからの警告の削除
-
Serializable class without serialVersionUID オプションを Warning から Ignore に変更します。
-
OK をクリックして新しい設定 (Preferences) を保存します。すると、アプリケーションを再ビルドするよう求めるプロンプトが表示されるはずです。再ビルドが完了すると、該当する警告が Problems ビューから削除されます。
メニューを使用する Swing ベースのアプリケーションをビルドしている場合、アプリケーションを実行すると、メニューは一般的な Mac OS X アプリケーションのように画面上部には表示されず、アプリケーション・ウィンドウの一部として表示されます。Xcode はデフォルトで仮想マシンへの引数を追加し、メニューが画面上部に表示されるようにします。しかし Eclipse ではこの引数を手作業で追加しなければなりません。Run > Run メニュー を選択すると Run ウィンドウが表示されるので、Arguments タブをクリックしてください (以下の図を参照)。
図 5. Run ウィンドウ
VM arguments ボックスに、-Dapple.laf.useScreenMenuBar=true と入力します。これで、Swing アプリケーションのメニューはアプリケーション・ウィンドウ内にではなく、通常の Mac OS X アプリケーションのようにウィンドウ上部に表示されるようになります。この引数は、Java アプリケーションが SWT (Standard Widget Toolkit) ベースの場合には必要ありません。
キーの割り当てを調整する方法
経験豊富な Mac ユーザーであれば、Eclipse で使用する Ctrl+キー の組み合わせのいくつかは予想 (あるいは好み) に反していると思うことでしょう。例えば Xcode または TextEdit をよく使うユーザーにとって、「次を検索」と「前を検索」として使い慣れているのはそれぞれ Command+G と Command+Shift+G ですが、Eclipse ではそうではなく、Command+K および Command+Shift+K にマッピングされています。幸い、Eclipse にはキーの割り当て (特定の処理を実行するためのCtrl+キー の組み合わせ) を好きなように編集するための仕組みが用意されています。キーの割り当てを変更するには、Eclipse > Preferences を選択して Preferences ウィンドウを表示してください。左側のペインで General 、Editors の順に展開し、Keys をクリックして View を表示します (以下の図を参照)。
図 6. キーの割り当て変更
特定の関数に対するキーの割り当てを変更するには、リストから該当するコマンド (例えば Find Next ) を選択し、Edit をクリックして Modify タブを表示します (図 7 を参照)。Key Sequence の下にある Name ボックスから現在のキーの組み合わせを削除し、この関数に新しく使用するキーの組み合わせを実際に押します (この例では、Command+G )。Add をクリックすると、新しいキーの組み合わせが保存されます。
図 7. Command+キーのシーケンスの変更
注: Eclipse では、選択した機能に対する元のキーの割り当ても保持しています。元のキーの割り当てを削除するには、Command の下にある Assignments リストから該当する割り当てを選択して Remove をクリックしてください。
View をクリックするとキーの割り当てが再び表示されるので、テキスト編集、ナビゲーション、リファクタリング、実行/デバッグ、検索、そしてソース関数のキー割り当てを好みに合わせて変更できます。
Mac OS X と CVS の統合
Mac OS X 上の Eclipse で複雑なアプリケーションをビルドする場合には、バージョン管理を利用したいものです。そこで Eclipse が提供するのは、アプリケーションのさまざまなバージョンのソース・コードを追跡するためのオープン・ソース・システム、CVS との統合です。Mac OS X は根本的に、BSD (Berkeley Software Distribution) Linux のフレーバーをベースにしていることを思い出してください。そのため、Mac OS X には実用的なインストール済み CVS バージョンがバンドルされています。
Apple Developer Connection Web サイト (「参考文献」を参照) に Mac OS X で CVS を構成する手順を説明する記事が掲載されているので、ここではその手順を説明することはしませんが、代わりにこの記事では CVS コマンド・ラインのオプションに焦点を当てます。CVS を Eclipse に統合するには、多少の修正作業が必要だからです。
まず必要なのは、みなさんのコンピューターへのリモート・ログイン機能を有効にすることです。リモート・ログインを有効にすると、みなさんのユーザー名とパスワードを使って誰でもコンピューターにアクセスできるようになってしまうので、この作業は自己責任において行ってください。
Mac OS X でリモート・ログインを有効にする手順は以下のとおりです。
- Apple アイコン、System Preferences の順にクリックします。
-
System Preferences ウィンドウで、Sharing アイコンをクリックします。
-
Sharing を選択して Sharing ウィンドウを表示します。
-
Remote Login チェック・ボックスを選択すると (図 8 を参照)、サービスが自動的に開始します。
図 8. リモート・ログイン機能を有効にする
-
Systems Preferences ウィンドウを閉じて変更内容を保存します。
リモート・ログインが有効になっていることを確かめるには、「ターミナル」アプリケーションを使用して bash シェルにアクセスをします。コマンド・プロンプトが表示されたら ssh localhost と入力してください。パスワードを入力した後、リモート・ログイン・セッションを終了します。
これで、Eclipse プロジェクトをローカルの CVS ツリーに追加できるようになりました。その手順は以下のとおりです。
- Package ビューで、プロジェクト・フォルダーを右クリックして Team > Share Project をクリックします。この操作によって、Share Project ウィンドウが表示されます (以下の図を参照)。
図 9. Share Project ウィンドウ
-
Host ボックスに
localhost と入力します。CVS 構成チュートリアルをすでに実行済みの場合は、リポジトリー・パスとして /usr/local/cvsrep と入力することになります。
-
Authentication の下にユーザー名とパスワードを入力します。
- 接続タイプとして extssh を選択し、Next をクリックします。
-
Enter Module Name ウィンドウで Use project name as module name を選択し (図 10 を参照)、Next をクリックします。
図 10. プロジェクトの名前指定
Eclipse が CVS サーバーに接続し、モジュールを作成します。このプロセスが完了すると、Eclipse はリポジトリーへのファイルのチェックインを確認します。Finish をクリックすると Commit Wizard が表示され、ログ・エントリーを入力するよう促されます。プロジェクト・ファイルをチェックインするのが初めての場合は、Project Start Check-in または First Check-in などと入力できます。これで、CVS を使ってアプリケーション内のバージョン管理を行うことができるようになります。
クロスプラットフォームの文字エンコーディング
Eclipse は、オペレーティング・システムのローカル文字セットを使ってソース・ファイルを編集します。Mac OS X 上の Eclipse がデフォルトで使用するのは MacRoman 文字セット (※訳注: 言語に英語を使用した場合の話です) ですが、クロスプラットフォーム・プロジェクトで Eclipse を操作している場合は、UTF-8 文字セットのほうが適しています。プロジェクトに含まれるすべてのファイルに対してこのエンコーディングを指定するには、Package Explorer ビューに表示されたプロジェクトを右クリックして Properties をクリックしてください。Text file encoding の下にある Other を選択してリストから UTF-8 を選択すれば、このエンコーディングを指定することができます (以下の図を参照)。
図 11. 文字エンコーディングの設定
Mac OS X での Eclipse のパフォーマンスを最大限にする方法
最後に、Mac OS X で最大限の Eclipse パフォーマンスを引き出すのに役立つ細かい作業のいくつかを説明しておきます。まず 1 つは、JVM (Java Virtual Machine) が割り当てる最小および最大のヒープ・スペースを指定することです。Eclipse はデフォルトで、ヒープに 40 から 256 MB のメモリーを割り当てますが、このメモリー割り当て量を変更するには eclipse.ini ファイルを変更する必要があります。eclipse.ini にアクセスするには、Eclipse アプリケーション・アイコンを右クリックして Show Package Contents をクリックします。すると新規 Finder ウィンドウが開き、そこに Contents フォルダーが表示されます。この Contents フォルダーを開き、そのなかの MacOS フォルダーを開くと、eclipse.ini ファイルが見つかります。
図 12. TextEdit に表示された eclipse.ini ファイル
最小ヒープ・スペースを変更するには -Xms オプションに続く値を、最大ヒープ・スペースを変更するには -Xmx に続く値を変更してください。例えばヒープ・サイズを 64 から 512 MB の範囲にするには、この 2 つのオプションを -Xms64m および -Xmx256m に変更します。Eclipse が開いている場合は、Eclipse をいったん閉じて開き直すまで、これらのオプションの変更は有効になりません。
途中まで入力された文字列に対して候補となる完全な文字列のリストを表示する自動 Content Assist 機能をオフにすることによってもパフォーマンスは向上します。それには Eclipse Preferences ウィンドウの左側ペインで Java 、Editor の順に展開し、そして Content Assist をクリックし、Enable Auto Activation チェック・ボックスのチェック・マークを外します。このように設定した後でも、Shift+Space キーの組み合わせを使えば Content Assist 機能を手動で呼び出すことができます。
また、大規模なプロジェクトでは、自動折り畳み機能を無効にすることでもパフォーマンスの向上につながります。自動折り畳み機能を無効にするには、Eclipse Preferences ウィンドウの左側ペインで Java 、Editor の順に展開し、Folding をクリックして Enable Folding チェック・ボックスのチェック・マークを外してください。
まとめ
Mac OS X は、Linux で経験を積んだ開発者には馴染みのある開発環境を提供してくれます。この記事で概説した手法を使用すれば、Mac プラットフォームでの Eclipse 開発エクスペリエンスを最大限快適にすることができます。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について
記事の評価
|