antとは?

antは、バッチ処理を行うアプリケーションです。
処理の内容は、build.xmlに記述します。

build.xmlについて

<project要素> := property要素 + <target要素>* + コメント要素*

build.xmlには、project要素が一つだけ存在します。 project要素には、property要素と複数のtarget要素が含まれます。

 

build.xmlファイルの先頭では、文字コードを指定する必要があります。

<?xml version="1.0" encoding="MS932"?>

<project要素>

<?xml version="1.0" encoding="MS932"?>
<project name="XXXXXXXXXX" default="XXXXXXXXXX" basedir=".">
  
  property要素
  
  target要素
  ...
</project>

          build.xml

project要素は、build.xmlに一つだけかかれます。 project要素の中に、バッチ処理の中で使われる定数を定義する property要素と 処理を定義する target要素を記述します。

project要素には以下の属性を定義できます。

属性説明推奨値
nameproject名${Eclipseのプロジェクト名}
defaulttarget無指定の場合、処理するtargetbuild
basedirバッチ処理の基準となるディレクトリ.(カレントディレクトリ)

property要素

property要素には、project内で用いる定数を定義します。
通常は、build.xml 内には、
定数定義を build.properties 内に外部定義することだけを宣言します。

<?xml version="1.0" encoding="MS932"?>
<project name="XXXXXXXXXX" default="XXXXXXXXXX" basedir=".">
  
  <property file="build.properties" />
  
  target要素
  ...
</project>

          build.xml

build.properties

build.properties には、下記のように 項目名=値 の形式で
build.xmlで使われる定数の定義を行います。

##
# dir setting
##
srcDir=src/
distDir=bin/
libDir=lib/

##
# javac setting
##
javac.debug=on
javac.deprecation=on
javac.optimize=off
javac.encoding=MS932
javac.target=1.4
javac.source=1.4 

build.propertiesで定義された定数は、 build.xml では ${項目名} の形で参照することが出来ます*1

<?xml version="1.0" encoding="UTF-8"?>
<project name="simple compile" default="compile" basedir=".">

  <property file="build.properties" />

  <path id="class.path">
    <fileset dir="${libDir}">
      <include name="**/*.jar" />
    </fileset>
  </path>

  <target name="compile"
    description="ソースコードのコンパイルをします">

    <javac 
      srcdir="${srcDir}"
      excludes="${excludes}"
      destdir="${distDir}"
      deprecation="${javac.deprecation}"
      debug="${javac.debug}"
      optimize="${javac.optimize}"
      encoding="${javac.encoding}"
      source="${javac.source}"
      target="${javac.target}"
      classpathref="class.path" />
      
  </target>
</project>

<target要素>

<target要素> := <target要素>* + task要素*

target要素 に、実際の処理を行う task要素 を記述します。
target要素には以下の属性を定義できます。

属性説明推奨値
nameproject名特になし
descriptionターゲットに関する説明特になし
depends依存させるtarget要素特になし

depends属性 によって、target要素 を別の複数の target要素 に依存させることが出来ます。つまり、ある target要素 処理を行う前に、前処理として別の target要素 を処理させることが出来ます。
たとえば、下記のような依存関係を作ることが出来ます。

<target name="build" depends="clean,compile">
     |
     +--><target name="clean">
     |   (/binディレクトリ内を削除)
     |
     +--><target name="compile" depends="i18n">
         (/srcディレクトリ内のソースをコンパイルする。出力先は/bin)
              |
              |
              +-><target name="i18n">
                 (.propertiesファイルのUnicodeエスケープ)
指定したターゲット実行されるターゲット
buildcleancompilei18n
build
clean×××
compile××
i18n×××

task要素

具体的なタスクについてはAntタスク雛型集?を参照

コメント要素

antのコメントには、XMLのコメントを用います。

<!-- 単一行のコメント -->
<!--
  複数行のコメント
  なんたらかんたら
  うんたらどうたら
-->

Java Ant


*1 build.propertiesの中でも ${項目名} で参照することが出来ます

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS   sitemap
Last-modified: 2009-04-30 (木) 01:21:44 (2775d)
ISBN10
ISBN13
9784061426061