Ant J2EE II 第4回 / 2005年10月13日 1 ここでの目標 Ant の基本について理解する。 2 きょうの講義内容 Antの概要 build.xmlの記述 Antの実行 もう一つの例 3 Antの概要 Antの概要 build.xmlの記述 Antの実行 もう一つの例 4 Antとは何か Javaのプログラムのコンパイルや実行を手 助けしてくれるツール 例えば、コンパイルや実行のときに必要な、 Jarファイルやオプションの指定が楽になる。 「ビルドツール」と呼ばれる。 Unix での make のようなもの 5 Antの特徴 Javaでできているので、環境に依存しない。 標準で多くの処理が組み込みに。 javac, java, javadoc, cvs, メール送信など。 処理内容はXMLファイルに記述 build.xml というファイルに記述する makeの「タブ地獄」よ、さようなら。 6 build.xmlの記述 Antの概要 build.xmlの記述 Antの実行 もう一つの例 7 build.xml Ant では、プログラムのコンパイルや実行 の方法を build.xml というファイルに記述 する。 ひとつのproject要素 projectには複数のtarget要素 targetには複数のtask propertyで名前と値をペアで管理 8 パターン (1) ファイルやディレクトリの指定で、Windows や Unix のようなパターンを使える。 *.java .java や a.java にマッチ。 a.xml にはマッチしない。 ?.java b.java にマッチ。 .java にはマッチしない。 9 パターン (2) csv/** csv ディレクトリ以下の、すべてのファイル・ ディレクトリにマッチする。 **/*.java すべてのディレクトリの *.java にマッチする。 10 property 名前と値がペアになっているもの プロパティの設定 <property name="srcDir" value="src" /> プロパティへのアクセス ${srcDir} 11 task 処理の最小単位 さまざまなtaskが標準で用意されている java / javac / jar / javadoc mkdir / zip tstamp など 12 javac という task <javac srcdir="${srcDir}" destdir="${classDir}" /> ソースファイルのコンパイルを行う srcdir 属性がソースファイルのありか destdir 属性がクラスファイルの生成先の ディレクトリ 13 target (1) 複数のtaskをまとめたもの 例えば、「ディレクトリを作って」「コンパイルを 行う」など Ant で処理を行う場合の基本単位 14 target (2) <target name="compile“ depends="init"> <mkdir dir="${classDir}" /> <javac srcdir="${srcDir}" destdir="${classDir}" /> </target> “compile” というターゲット名 15 targetの依存関係 (1) このtargetを処理するために必要なtarget たとえば、Jarファイルを作成する前にコン パイルが必要。 あるtargetだけを取り出して処理することも 可能。 たとえば、Javadoc の作成など。 16 targetの依存関係 (2) compile の前に init の処理 <target name="compile" depends="init"> <mkdir dir="${classDir}" /> <javac srcdir="${srcDir}" destdir="${classDir}" /> </target> <target name="jar" depends="compile"> <jar jarfile="csv.jar" basedir="${classDir}" /> </target> 17 Antの実行 Antの概要 build.xmlの記述 Antの実行 もう一つの例 18 Ant を動かすには 環境変数 ANT_HOME の設定が必要 %ANT_HOME%\bin に path を通す 19 Ant の実行 (1) build.xml があるディレクトリで実行する。 ant 引数なしで ant コマンドを実行すると デフォルトの target が実行される。 この場合は all という target このとき、target の依存関係をたどり、必要な target から順に実行される。 <project name="csv" default="all" basedir="."> 20 Ant の実行 (2) ant compile compile target が実行される。 21 もう一つの例 Antの概要 build.xmlの記述 Antの実行 もう一つの例 22 環境変数の取得 環境変数をよみこみ、env という変数に格 納 <property environment="env"/> 環境変数 JWSDP の値(+ /jaxrpc)を、 jaxrpc.home プロパティの値とする。 <property name="jaxrpc.home" value="${env.JWSDP_HOME}/jaxrpc"/> 23 クラスパスの設定 (1) <path id="wspack.classpath"> <pathelement location= "${jaxrpc.home}/lib/jaxrpc-api.jar"/> <pathelement location= "${jaxrpc.home}/lib/jaxrpc-impl.jar"/> </path> 24 クラスパスの設定 (2) <target name="compile" depends="init"> <javac srcdir="."> <include name="*.java" /> <classpath> <path refid="wspack.classpath"/> </classpath> </javac> </target> 25
© Copyright 2024 ExpyDoc