Index > ANT覚え書き
Sun, January 29, 2006

ANT覚え書き

antを使っていて、たびたび調べ直すことになったテクニックの備忘録を集める。

リソースファイルをjarに含めたい

ボタンアイコン画像などをjarに含めたい場合があります。 そういうときは、jarタスク内で、以下のような記述をすればよい。

この例では、srcディレクトリ以下に含まれる .pngの拡張子を持つファイルを 全部 jar に追加する。

<target name="jar" depends="compile">
    <jar destfile="./tlog-gui.jar">
        <zipfileset dir="./bin" />

        <fileset dir="src">
            <include name="**/*.png" />
        </fileset>
    </jar>
</target>

ANTでexecutableなjarを生成する

build.xml に以下のように記述。

<target name="exejar">
    <jar destfile="foo.jar">
         <zipfileset dir="classes" />
         <zipfileset src="lib/some.jar" />
         <manifest>
        <attribute name="Main-Class" value="foo.bar.Main" />
         </manifest>
</target>

jarを作成するときに、一緒に含めるjarをまとめて指定したい

実行可能なjarを生成したいときなど、依存するライブラリ類をまとめてjarにしたいときがある。 このとき、build.xmlの記述を簡単に書きたい。

たとえば、lib/ 以下にあるすべてのjarを含めてjarを生成したい場合の記述。

<project default="makejar">
    <target name="makejar">
        <jar destfile="sample.jar" >
            <zipgroupfileset dir="lib" includes="*.jar" />
        </jar>
    </target>
</project>

pathエレメントに複数のファイルを指定

今度は、jarをつくるときではなく、 pathエレメントに複数のファイルをまとめて指定したい場合。

<path id="compile.class.path">
  <fileset dir="./lib">
    <include name="*.jar" />
  </fileset>
</path>

pathエレメントに複数のディレクトリを指定

複数のファイルだけでなく、複数のディレクトリを含めたい場合があります。

<path id="compile.class.path">
  <fileset dir="./lib">
    <include name="*.jar" />
  </fileset>
  <fileset dir="../lib.ext">
    <include name="*.jar" />
  </fileset>
</path>

このアプリケーションに固有の jar は ./lib に入れておき、 複数のアプリケーションで共有している jar は、../lib.ext に入れておく、 といった管理方法をしているときに便利です。

 Twitter
follow me on Twitter
 Categories