Ivyを使ってみる

それでは早速Ivyを使ってみよう。Ivyを利用するにはivy.xmlという名前で以下のような設定ファイルを作成する。

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation=
                   "http://ant.apache.org/ivy/schemas/ivy.xsd">
    <info organisation="apache" module="hello-ivy"/>
    <dependencies>
        <dependency org="struts" name="struts" rev="1.2.9"/>
    </dependencies>
</ivy-module>

<dependency>タグで使用するライブラリとバージョン(上記の例ではStruts 1.2.9)を指定している。このあたりはMavenと似ているのでMavenを使ったことがあれば問題ないだろう。

続いてこの設定を使用してライブラリのダウンロードを行うAnビルドファイルを作成する。上記のivy.xmlと同じフォルダに以下の内容でbuild.xmlを作成しよう。

<project xmlns:ivy="antlib:org.apache.ivy.ant" name="hello-ivy" default="retrieve">
    <target name="retrieve">
        <ivy:retrieve />
    </target>
</project>

Antで retrieve ターゲットを実行すると、libフォルダが作成され、MavenのセントラルリポジトリからStrutsとその依存ライブラリのJARファイル群がダウンロードされるはずだ。

なお、IvyはダウンロードしたメタデータやJARファイルをUSER_HOME/.ivy2フォルダ配下にキャッシュしている。ダウンロードしたものだけでなく、Ivyの設定内容などもこのフォルダにキャッシュされているため、もしIvyがうまく動作しない場合はキャッシュを消すなどの手段を試してみて欲しい。