レベル: 中級 Tyler Anderson (tyleranderson5@yahoo.com), Freelance writer
2006年 1月 17日 たくさんの新人開発者やベテラン開発者が成長を続けるApache Geronimoの流れに加わろうとしています。Geronimoをビルドする能力は、変更やフルカスタム・モジュールを組み込もうとする開発者にとって、ますます重要になっています。残念なことに、Geronimoの構築は簡単な作業ではありません。新しいビルド・スクリプトやコンパニオン・ビルド・アプリケーションについて学ぶ必要があります。ここでは、Apache Geronimoのソース・コードを最初からビルドする方法を正確に理解できるよう、段階を追って説明します。
はじめに
Apache Geronimoはオープンソース・ソリューションとして注目されてきています。新しいフルバージョン1.0リリースが入手できるようになり、Geronimoが主流に躍り出るのも時間の問題です。Geronimoのようなすばらしいオープンソース・ソリューションは、常に一定の開発者の支持を受けています。こうした開発者はコミッターになるにせよ、社内やビジネスで使うために開発するにせよ、ビルド・プロセスを効率化するため、Geronimo の構造についてよく知る必要があります。
- この記事は、Geronimoのビルドに関する次のようなトピックを説明します。
- ビルド・プロセスで、必要なビルド・アプリケーション(Apache MavenとSVN(Subversion))のダウンロードとインストールがどのように使われるか調べます。
- ソースとバイナリーの標準ディストリビューションにあるGeronimoの関連ディレクトリー、およびディレクトリーとGeronimo 全体との関係を理解します。
- 最初からGeronimoをビルドし、Geronimoコンソールにログインします。
- SVNを使ってsvn.apache.orgからGeronimoの最新バージョンをチェックアウトし、Geronimoコンソールにログインしてテストと実行を行います。
開始する
この記事では、Geronimo Version 1.0を使います。GeronimoとGeronimoのビルド・プロセスについての知識は前提としていません。Geronimoを使うには、Java™ 1.4.2_08 (またはそれ以降、ただし1.5より前)が必要です。JavaコードはSun Microsystemsからダウンロードしてください。
Javaをダウンロードしたら、Geronimo, Version 1.0をダウンロードします。「Binaries」と「Source Code」セクションで.zip (Microsoft® Windows®かLinux®)ファイルまたは.tar.gz (Linux)ファイルを選択します。
ダウンロードが終わった後、同じディレクトリーで.zipファイルまたは.tar.gzファイルを解凍すると、Geronimoのインストールの準備が完了です。
Geronimoではビルド・ツールとしてApache Mavenを使うため、apache.orgからMaven 1.1 Beta 2もダウンロードする必要があります。簡単なインストール手順に従えば、インストール完了です。
ダウンロードが必要な最後のアプリケーションはSubversionです。Subversionは、Apache Geronimo Subversionリポジトリーから最新のツリー(HEAD)をチェックアウトするときに使います。
また、環境変数として次の値が追加されていることを確認してください。
- MAVEN_HOME。Apache Mavenのインストール先のルート・ディレクトリーです。
- JAVA_HOME。Javaのインストール先のルート・ディレクトリーです。
最後に、PATH変数に次のディレクトリーがあることを確認してください。
- <maven-install-dir>/bin
- <geronimo-install-dir>/bin
- <java-install-dir>/bin
- <subversion-install-dir>/bin
WindowsとLinuxでのPATHへの追加または新しい環境変数の作成については、「参考文献」を参照してください。
Geronimoと初期ビルド
ダウンロードしたバイナリーとソースのインストール先にはいくつかのディレクトリーがあります。バイナリー・ダウンロードには、Geronimoの実行と使用に必要な最小限のGeronimoが入っています。ソース・ダウンロードには、ツリー全体をビルドするMavenビルド・スクリプトを含め、すべてのGeronimoソースが入っています。まず、バイナリー・ディストリビューションを調べ、次にソース・ディストリビューションを調べます。
バイナリー・ディストリビューション
バイナリーの方が、ファイルとディレクトリーの数は少ないですが、バイナリー形式のため、サイズは大きくなります。次に、関連するディレクトリーのリストを示します。
- bin -- ほとんどの開発者にはこのディレクトリーはおなじみのはずです。ここに実行可能ファイルが入ります。
- config-store -- Geronimoのデプロイヤーはアプリケーション.warや他のファイルをどこに置くのか疑問に思ったことはありませんか? ここがその場所です。
- doc -- GBeansのプランやコンフィグレーションはここに入ります。
- repository -- Geronimoのビルドと実行の依存関係ファイルが入ります。
- var -- コンフィグレーション・ファイルとプロパティー・ファイルは、組み込みDerbyデータベースと共にここに保存されます。
バイナリー・ディストリビューションについては以上です。詳細については、「参考文献」を参照してください。では、ソース・ディストリビューションに移りましょう。
ソース・ディストリビューション
このディストリビューションでは、ソース・ツリーにはよくあることですが、いくつかのファイルやツリーにたくさんのお楽しみコードが入っています。次に、最上位ディレクトリーのリストを示します。
- applications -- Geronimoに付属するさまざまな標準アプリケーションが入ります。各アプリケーションのデモ方法に関するリンクについては、「参考文献」を参照してください。
- modules -- 複数のディレクトリーにすべてのGeronimoソース・コードが入ります。Assemblyが主要なビルド・ディレクトリーですが、各ディレクトリーを別々にビルドすることもできます。
開発者が最も利用するようになるのは、変更対象のmodulesディレクトリーのサブディレクトリーです。次に、すべてのGeronimoの初期ビルドを行います。
初期ビルド
Geronimoの初期ビルドは簡単に行うことができます。コンソールを開き、<geronimo-install-dir>に移動し、「maven new」と入力します。ただし、コードを変更した場合、ツリーを再ビルドしてください。それには、「maven m:clean m:clean-repo new」と入力します。
上のコマンドに「-Dmaven.test.skip=true -Dmaven.itest.skip=true」を加えると、テストをスキップできます。ツリーの変更か追加を行った後にテストをスキップすることはお勧めできませんが、場合によっては、時間を節約する方法として有効です。組み込みテストをスキップすると、システムのセキュリティと機能に問題が生じることがあるので、注意が必要です。上記のコマンドの入力後、ビルドの開始時には図1のように表示されます。
図1. Geronimoをビルドする
ビルド・プロセス中、Mavenがさまざまな.jarファイルや他の依存関係ファイルをダウンロードすることに気付くでしょう。それというのも、著者が初めてGeronimoをビルドしたとき、特定の依存関係ファイルを取得できないというMavenのエラーが表示されたためです。このエラーは、Geronimoコアを利用してコードをデバッグするとき、大きな障害となりました。今回MavenでGeronimoをビルドしたとき、このようなエラーは発生しませんでした。ただし、Mavenの使用時に特定の依存関係ファイルを取得できないという同様の問題が生じた場合は、次の手順に従ってください。
- <geronimo-install-dir>に移動します。
- repositoryディレクトリーにあるすべてのディレクトリーをHOMEディレクトリー内の.maven/repositoryディレクトリーにコピーします。
- Geronimoのビルドをもう一度試します。
今回、Mavenは問題なく実行されるはずです。Geronimoのインストール先から必要なすべての依存関係ファイルが用意されているためです。さらに他のファイルが必要な場合も、Mavenは見つけることができるはずです。
図2は、ビルドの成功を示しています。
図2. ビルドの成功
ビルドが完了したとき、新しいビルドは./binディレクトリーには保存されません。./binディレクトリーはソース・ディストリビューションの一部ではないためです。したがって、Geronimoの既製のビルドには影響がなく、既製のビルドの代わりに選んだ他のビルドにも影響は与えません。
次に進み、ビルドをテストしましょう。
初期ビルドをテストする
新しくビルドしたサーバーを実行するには、 <geronimo-install-dir>\assemblies\j2ee-tomcat-server\target\geronimo-1.0ディレクトリーに移動します。
コンソールを開き、「java -jar bin/server.jar」と入力します。
図3に示すように、サーバーが起動します。
図3. Apache Geronimoを起動する
Geronimoが起動したので、ブラウザを開き、http://localhost:8080/consoleにアクセスします。
図4に示すようなGeronimoコンソールが表示されます。
図4. Geronimoコンソール
自由にブラウズしてください。デフォルトのユーザー名はsystem、パスワードはmanagerです。
開発者やソース・コードをいじくるのが好きな意欲的なデバッグ担当者なら、最新、最高のコードを手に入れたいと思うでしょう。そこで、SVNを使ってツリー全体をチェックアウトします。
SVNを使い、最新のGeronimoソース・ツリーをチェックアウトする
先進技術を構築する開発者にとって、技術の最先端にいることは重要です。Geronimoのような技術では、各リリースが非常に重要なアップデートになります。朝刊紙のように、毎日、毎週、多くの新しいバグ修正や機能が現れます。SVNを使ってソース・ツリー全体をチェックアウトしビルドすると、Geronimoの開発者が取りかかっている新しい機能をすべて利用できるようになります。
SVNで最新のGeronimoビルドをチェックアウトすることは簡単です。SVNは前にインストールしました。最新、最高のビルドをチェックアウトするには、Geronimoの最新のソース・コード・ツリーをチェックアウトするディレクトリーに移動し、「svn checkout http://svn.apache.org/repos/asf/geronimo/trunk geronimo」と入力します。
図5に示すように、Geronimoツリーがコンピューターにダウンロード(チェックアウト)されます。
図5. Geronimoの最新ソース・ツリーをチェックアウトする
./geronimoディレクトリー(svn.apache.orgからGeronimoをチェックアウトしたディレクトリー)で「svn update」と入力すると、さらにアップデートを入手できます。
次に、ディストリビューションをクリーンにし、ビルドします。svn.apache.orgからチェックアウトした新しいGeronimoディレクトリーに移動し、「maven m:clean m:clean-repo new -Dmaven.test.skip=true -Dmaven.itest.skip=true」と入力します。
今回、Mavenは新しい依存関係ファイルもダウンロードするため、ツリーは以前と同じようにビルドされますが、まったく最新バージョンのGeronimoができます。
次に、新しいビルドをテストします。
最新ビルドをテストする
ビルドのテストは、Apache Geronimoからダウンロードしたソースの初期ビルドのテストと同じように行いますが、今回はSVNを使って取得した最新ソースをテストします。新しいコンソールで次のように入力し、Geronimoを起動します。
java -jar <svncheckout-geronimo-dir>/assemblies
/j2ee-installer/target/geronimo-1.0-SNAPSHOT/bin/server.jar
これでサーバーが起動します。次にGeronimoコンソールを開きます。ブラウザを開き、前のようにGeronimoコンソール(http://localhost:8080/console)にアクセスします。図6を参照してください。
図6. Geronimoの最新バージョンでGeronimoコンソールを表示する
デフォルトのユーザー名とパスワードはやはりsystemとmanagerです。
これで、Geronimoアプリケーション・サーバーの最新バージョンがマシンにインストールされ、稼働しています。
結論
これで読者はGeronimoソース・ツリーのビルドの熟練者です。行く手にどれほど多くの、どれほど大きな障害があっても、Geronimoをビルドすることができます。また、SVNを使ってsvn.apache.orgからGeronimoの最新ソース・ツリーをチェックアウトし、サーバーのビルドと実行に成功しました。Geronimoコードの開発やGeronimoソース・ツリーの変更と追加を計画しているなら、Geronimo開発者メーリング・リストの参加者たちに感謝されるでしょう。Geronimoメーリング・リストへのリンクについては、「参考文献」を参照してください。
参考文献 学ぶために
製品や技術を入手するために
議論するために
著者について  | |  | Tyler Andersonは2004年にBrigham Young Universityにてコンピューター・サイエンスの学位を取得しており、現在はコンピューター・エンジニアリングの修士取得に向けての最終学期を送っています。これまで、DPMG.COMのデータベース・プログラマーとして働いたことがあり、現在はオレゴン州BeavertonにあるStexar Corp.のエンジニアです。 |
記事の評価
|