→全体目次
ant
、Windows用:ant.bat
が入っている)Antの説明はANT_HOME/docs/index.html配下に入っている。(基本的にApache
Antのトップページと同じ)
タスクの説明はANT_HOME/docs/manual/index.htmlの「Ant Tasks」。
API(Javadoc)はANT_HOME/docs/manual/api/index.htmlにある。
なお、Apache
Antのソースダウンロードページからソース(apache-ant-1.7.1-src.zip)をダウンロードすることも出来る。
展開したapache-ant-1.7.1/srcにソースが入っている。
他に、WebLogicをインストールすると、その中にantが入っていたりする。[2007-08-26]
Windows版のWebLogic8.1の場合、「C:\bea\weblogic81\server\bin」にant.bat
があるので、そこにパスを通しておけば使える。
Eclipse3にもプラグインにantが入っている。[2007-09-07]
「C:\eclipse\plugins\org.apache.ant_〜\bin」にant.bat
があるので、そこにパスを通しておけば使える。
ただし、JREのjava.exeで実行すると、「Unable to locate
tools.jar」(tools.jarが見つからない)というメッセージが出る。tools.jarが必要なタスクでない限りは実行自体は出来るようだが。
JDKのjava.exeであれば、「%JAVA_HOME%\lib」にtools.jarが存在しているので問題ない。
Eclipse3.2はAnt1.6.5、Eclipse3.3〜Eclipse3.4はAnt1.7.0。[2008-12-24]
$ ant
これにより、カレントディレクトリに置いてあるbuild.xmlの内容に従ってコンパイル等が行われ、目的のファイルが生成される。
$ ant ターゲット
これにより、カレントディレクトリに置いてあるbuild.xml内の指定されたターゲットの実行(コンパイルやコピー等)が行われ、目的のファイルが生成される。
ターゲットが指定されていない時は、build.xml内に書かれているデフォルトターゲットを指定したことになる。
$ ant -f ファイル〔ターゲット〕
これにより、指定されたファイル(build.xmlの代わり)の内容に従ってコンパイル等が行われ、目的のファイルが生成される。
$ ant〔-f ファイル〕〔ターゲット〕-Dプロパティ名=値
これにより、build.xml内で定義していないプロパティが定義できる。
オプション | 内容 | 備考 |
---|---|---|
-h -help |
オプションの一覧を表示する。 | --helpや/?と同じ意味。 |
-f ファイル -file ファイル -buildfile ファイル |
build.xmlファイルを指定する。 | |
-Dプロパティ名=値 | プロパティーを定義する。 | <property name="プロパティ名" value="値"/>と同等。 |
-propertyfile ファイル | プロパティーファイルを指定する。 | <property file="ファイル"/>と同等 |
-q -quiet |
静かモード?で実行する。 | 出力するメッセージのレベルを指定する。 →ログ出力 例外が発生した場合、通常だとスタックトレースは出力されない。 -verboseもしくは-debugにすると出力されるようになる。 |
-v -verbose |
詳細モード?で実行する。 | |
-d -debug |
デバッグモードで実行する。 |
環境変数ANT_OPTSにパラメーターを指定しておくことにより、ant実行時にそれが使われる。[2008-06-21]
antはjavaコマンドで動いているので、そのときのVMオプションにANT_OPTSの内容が指定される。
例えばANT_OPTSに「-Xms512m
-Xmx512m」を付ければ、ヒープサイズを増やすことが出来る。
(javac等のメモリーを多く使用するタスクを実行しているとOutOfMemoryErrorになることがある。そうした場合にヒープを増やしてみる)
→Eclipseでのオプション・パラメーター指定方法
→Eclipseからantを実行する方法
様々なタスクが用意されており、これらを組み合わせてコンパイル等を行う。
タスクの種類やタスクのオプションが多すぎるので、慣れるまではantは使いづらいような気が…まぁ、慣れるまで大変なのはどのツールでも同じだけど^^;
その他、プロパティを指定したり外部の環境変数を取り込んだりすることが出来る。
build.xml:
<?xml version="1.0" encoding="EUC-JP"?> ←build.xml内のエンコード指定。Windowsなら"Shift_JIS"かな?
<!-- サンプル -->
<project name="sample.build" basedir="." default="all">
<property name="sample.home" location="sample_dir"/>
<property name="sample.lib" location="${sample.home}/WEB-INF/lib"/>
<property name="sample.class" location="${sample.home}/WEB-INF/classes"/>
<property name="sample.src" location="${sample.home}/WEB-INF/src"/>
<path id="classpath">
<fileset dir="${sample.lib}" includes="*.jar"/>
<pathelement location="${sample.class}"/>
</path>
<!-- Javaのコンパイル -->
<target name="compile" >
<mkdir dir="${sample.class}"/>
<javac srcdir="${sample.src}" destdir="${sample.class}" encoding="MS932">
<classpath refid="classpath" />
</javac>
</target>
<!-- warファイルの作成 -->
<target name="war">
<war destfile="./sample.war"
webxml="${sample.home}/WEB-INF/web.xml">
<fileset dir="${sample.home}">
<exclude name="**/web.xml"/>
<exclude name="**/src/**/*"/>
<exclude name="**/src"/>
</fileset>
</war>
</target>
<!-- デフォルトターゲット -->
<target name="all" depends="compile,war">
</target>
</project>
「ant」(ターゲット指定無し)が実行されると、上記のbuild.xmlは以下のように解釈される。