ここでは、基本的なタスクの説明を行います。
ここでは、以下の構造でJavaプロジェクトを作ってみます。
src/
|__aaa/
|__Main.java
classes/
build.xml
最初のbuild.xmlはコレです。 Javacタスクでコンパイルします。
<project name="helloant" default="compile"> <target name="compile"> <javac srcdir="src" destdir="classes"/> </target> </project>
コンパイルを実行します。 ソースパスの指定だけで、再帰的にソースを検索してくれます。
C:\projects\tmp\at>ant Buildfile: build.xml compile: [javac] Compiling 1 source file to C:\projects\tmp\at\classes BUILD SUCCESSFUL Total time: 2 seconds
パスは外だしといた方が何かと便利なので(複数のタスクから使うことが多いので)、 プロパティーで定義しときましょう。
<project name="helloant" default="compile"> <property name="src" value="src"/> <property name="classes" value="classes"/> <target name="compile"> <javac srcdir="${src}" destdir="${classes}"/> </target> </project>
実行はJavaタスクです。
<project name="helloant" default="compile"> <property name="src" value="src"/> <property name="classes" value="classes"/> <target name="compile"> <javac srcdir="${src}" destdir="${classes}"/> </target> <target name="run" depends="compile"> <java classname="aaa.Main" classpath="${classes}" > </java> </target> </project>
クラスパスを${classes}に通しています(さっそくプロパティー指定が役立った!)。
depends属性を必須ではないですが、指定しておけば、runタスクを実行する前に、
自動的にcompileタスクを実行してくれます
(イチイチ、ant compile、ant runとしなくてすむ)。
実行します。runターゲットを指定します。
C:\projects\tmp\at>ant run Buildfile: build.xml compile: run: [java] hello! BUILD SUCCESSFUL Total time: 1 second