トップ
ディレクトリ CVS BUILD.XML スクリプト

4. ソースの構造

4.1 ディレクトリ構造

このマニュアルで特に薦めたいことは、(この章で述べている)ソースコードのディレクトリ階層 と (前の章で述べられている) 配備するアプリケーションのディレクトリ階層を分割することです。 このように分割すると、以下の利点があります。

ご存じのように、ant開発ツールは簡単にこのようなディ レクトリ階層の作成と処理を行います。

アプリケーションのソースコードを含むディレクトリとファイルの階 層については、まったく好きなようにしても構いません。しかし、 以下に述べる構造は非常に一般に適用できます。また、以下で議論 している、build.xmlの例は、この構造を前提にしています。

4.2 ソースコード管理

以前にも述べたように、アプリケーションを構築するすべてのソースコー ドを、Concurrent Version System (CVS) の様なソースコード管理システム下に置くことを強く薦めます。 そうする場合には、ソース階層にあるすべてのディレクト リとファイルは登録、保存されます。 -- しかし生成されたファイ ルについては、どれも登録、保存されません。バイナリファイル (画像や JAR ライブラリなど) を登録する場合には、使用しているソースコー ド管理システムにそれを認識させることを忘れないでください。

ソースコード管理環境の詳細な解説についてはこのマニュアルの範疇 ではありません。しかしながら、CVS のコマンドラインクライアントを 使っているならば、下のステップに従えば良いでしょう。

CVS や他のソースコード管理システムは、たくさんの追加の機能 (特定 のリリースのファイルに対するタグ付けや、後からマージすることのできる複 数の開発ブランチのサポートなど) を持っています。より詳しい情報につい てははじめに内のリンクとリファ レンスを見てください。

4.3 BUILD.XML 設定ファイル

私たちは Java ソースコードファイルの管理と配備階層の構築に ant ツールを使用するでしょう。Ant は通常は build.xml と呼ばれるビルドファイルの管理下で実行し ます。このファイルはステップが必要とする手続きを定義しています。 Makefile の様に、build.xmlは任意の開発動作(関連し たJavadoc ドキュメントの生成、プロジェクトを白紙の状態からビルド するための生成ファイルの削除、またはアプリケーションを配布するた めの Webアプリケーションアーカイブの作成など)に対応す るいくつかの "ターゲット" を定義することができます。

すぐ使用できるように、基本的な build.xmlファイルが用意されています。あなたは、これをアプリケー ション用にプロジェクトソースディレクトリの中でカスタマイズしてイ ンストールすることができます。このファイルは実行可能な様々なター ゲットを記述したコメントも含んでいます。簡単に言えば、以下のター ゲットが一般的に提供されています。

以下の章では、Ant を使いプロジェクトをコンパイルするための build.xml に基づくスクリプトについて述べています。

4.4 Shell と バッチスクリプト

私たちが利用する基本的なスクリプトを、一般的に buildスクリプ トと呼びます。これは上で述べた build.xml を読み込 んで処理する Ant を実行します。build スクリプトを実行する毎に、実 行してほしい "ターゲット" を指定します。コマンドライン MAKE ツー ル (これは makefile を処理します) のユーザならこのアプローチは容易 に理解できるでしょう。

UNIXベースのシステムでは、下記のスクリプトを ファイルパーミッションを実行可能にして、以下のようにカスタマイズしてから、 プロジェクトソースディレクトリ内に build.shとして保存しなければいけません。

#!/bin/sh
# build -- "Hello, World"アプリケーションのbuildスクリプト
# $Id: source.html,v 1.2.4.3 2001/03/08 00:56:41 marcsaeg Exp $

# 必要とするクラスパスの特定
CP=$TOMCAT_HOME/lib/ant.jar:$TOMCAT_HOME/lib/servlet.jar
CP=$CP:$TOMCAT_HOME/lib/jaxp.jar:$TOMCAT_HOME/lib/parser.jar
CP=$CP:$JAVA_HOME/lib/tools.jar

# 要求されたターゲットを実行するための ANT の実行
java -classpath $CP:$CLASSPATH org.apache.tools.ant.Main \
  -Dtomcat.home=$TOMCAT_HOME "$@"

      

Windowsベースのシステムでは、下記のスクリプトをプロジェクトのソー スディレクトリ内に buildとして保存してから、 以下のようにカスタマイズしなければいけません。

@echo off
rem build.bat -- "Hello, World"アプリケーションのbuildスクリプト
rem $Id: source.html,v 1.2.4.3 2001/03/08 00:56:41 marcsaeg Exp $

set _CP=%CP%

rem 必要とするクラスパスの特定
set CP=%TOMCAT_HOME%\lib\ant.jar;%TOMCAT_HOME%\lib\servlet.jar
set CP=%CP%;%TOMCAT_HOME%\lib\jaxp.jar;%TOMCAT_HOME%\lib\parser.jar
set CP=%CP%;%JAVA_HOME%\lib\tools.jar

rem 要求されたターゲットを実行するための ANT の実行
java -classpath %CP%;%CLASSPATH% org.apache.tools.ant.Main -Dtomcat.home=%TOMCAT_HOME% %1 %2 %3 %4 %5 %6 %7 %8 %9

set CP=%_CP%
set _CP=

検討しなければならないビルドスクリプトのカスタマイズ内容は、以下の通りです。