ivy.xmlを右クリックして、[Add Ivy Library]を選択し、Ivyに定義したライブラリをビルドパスへ追加します。
ビルドパスを設定した後、プロジェクトのJavaのライブラリを確認すると、ivy.xmlが追加され、その下に定義したライブラリが存在することが確認できます。
後は、ivy.xmlのdependencies要素にライブラリ定義を追加すれば、自動的に定義したライブラリがクラスパスに通るようになります。もちろん、ライブラリの定義を削除すれば、自動的にクラスパスからも削除されます。
ここまでは、IvyDEの機能を利用して、Eclipse上でIvyを利用する方法について紹介してきました。しかしながら、アプリケーションをWARファイルに固めたり、配布可能な状態にする場合、定義したJARを配布物に含める必要があります。
定義したJARをダウンロードするには、Ivyで用意されているAntのretriveタスクを利用します。例えば、Eclipseの動的Webプロジェクトで、Ivyを定義したライブラリをlibディレクトリにダウンロードするANTファイル「ivy-build.xml」の例を示します。
<?xml version="1.0" encoding="utf-8"?>
<project basedir="." default="resolve" name="resolve"
xmlns:ivy="antlib:org.apache.ivy.ant">
<property name="ivy.lib.dir" value="WebContent/WEB-INF/lib/"/>
<target name="resolve">
<ivy:retrieve />
</target>
</project>
このファイルをAntで実行すれば、「WebContent/WEB-INF/lib」ディレクトリへivy.xmlに定義したjarをコピーできます。ivy.xmlの定義をプロジェクト標準の「build.xml」に記述することもできますが、build.xmlとは別にIvy専用のビルドファイルを作成し、ライブラリの管理だけに利用するようにしておけば、一般開発者はIvyを導入する必要がなくなります。
インターネットアクセスにプロキシが必要な場合、IvyDEを利用したEclipse環境では設定したライブラリのダウンロードに失敗し、クラスパスが正しく通りません。ただし、AntをEclipse上もしくはコマンドラインから利用する場合は、プロキシ環境でも利用できます。
Eclipse上のAntで利用する場合は、JREのVM引数を設定します。Antファイルを右クリックして、[Antビルド(3)]を選択すると、アプリケーションの設定画面が表示されます。ここで、JREのVM引数を設定します(図5)。VM引数欄には、次のような値を入力します。
認証なしのプロキシの場合は、「-Dhttp.proxyUser」「-Dhttp.proxyPassword」は不要です。
Antをコマンドラインで直接利用する場合は、上記のANT_OPTS環境変数に設定します。コマンドラインで利用する場合は、「ivy.jar」をAntの「lib」ディレクトリにコピーする必要があるので忘れないでください。
ライブラリ管理を簡単に行えるIvyについて紹介してきました。Ivyを利用すれば、Mavenリポジトリ上のJARファイルを手軽に利用できますし、複数のJARの依存関係も自動的に解決してくれます。
Mavenの優れたライブラリ管理をAntで利用できるのは、Antユーザーにとっては、ありがたいことだと思います。「Mavenは便利そうだけど、ビルドシステムをAntから移行するのはちょっと……」と思われる方は、ぜひIvyを使ってみることをお勧めします。
Copyright © ITmedia, Inc. All Rights Reserved.