連載
» 2011年05月26日 00時00分 公開

ユカイ、ツーカイ、カイハツ環境!(22):Ant使いでもMavenのライブラリ管理ができるIvyとは (2/2)

[岡本隆史,@IT]
前のページへ 1|2       

Ivyで管理する依存関係をEclipseのビルドパスへ追加

 ivy.xmlを右クリックして、[Add Ivy Library]を選択し、Ivyに定義したライブラリをビルドパスへ追加します。

図3 ビルドパスへのivyライブラリの追加 図3 ビルドパスへのivyライブラリの追加

 ビルドパスを設定した後、プロジェクトのJavaのライブラリを確認すると、ivy.xmlが追加され、その下に定義したライブラリが存在することが確認できます。

図4 Ivyにより定義されたライブラリ 図4 Ivyにより定義されたライブラリ

 後は、ivy.xmlのdependencies要素にライブラリ定義を追加すれば、自動的に定義したライブラリがクラスパスに通るようになります。もちろん、ライブラリの定義を削除すれば、自動的にクラスパスからも削除されます。

配布物にJARファイルを同梱するには

 ここまでは、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>
ivy-build.xml

 このファイルをAntで実行すれば、「WebContent/WEB-INF/lib」ディレクトリへivy.xmlに定義したjarをコピーできます。ivy.xmlの定義をプロジェクト標準の「build.xml」に記述することもできますが、build.xmlとは別にIvy専用のビルドファイルを作成し、ライブラリの管理だけに利用するようにしておけば、一般開発者はIvyを導入する必要がなくなります。

プロキシ環境利用時でのIvyDEの注意点

 インターネットアクセスにプロキシが必要な場合、IvyDEを利用したEclipse環境では設定したライブラリのダウンロードに失敗し、クラスパスが正しく通りません。ただし、AntをEclipse上もしくはコマンドラインから利用する場合は、プロキシ環境でも利用できます。

 Eclipse上のAntで利用する場合は、JREのVM引数を設定します。Antファイルを右クリックして、[Antビルド(3)]を選択すると、アプリケーションの設定画面が表示されます。ここで、JREのVM引数を設定します(図5)。VM引数欄には、次のような値を入力します。

-Dhttp.proxyHost=【プロキシホスト名】 -Dhttp.proxyPort=【プロキシポート名】 -Dhttp.proxyUser=【ユーザー名】-Dhttp.proxyPassword=【パスワード】


図5 プロキシ利用時のVM引数の設定 図5 プロキシ利用時のVM引数の設定

 認証なしのプロキシの場合は、「-Dhttp.proxyUser」「-Dhttp.proxyPassword」は不要です。

 Antをコマンドラインで直接利用する場合は、上記のANT_OPTS環境変数に設定します。コマンドラインで利用する場合は、「ivy.jar」をAntの「lib」ディレクトリにコピーする必要があるので忘れないでください。

Ant→Maven移行ができない人こそ

 ライブラリ管理を簡単に行えるIvyについて紹介してきました。Ivyを利用すれば、Mavenリポジトリ上のJARファイルを手軽に利用できますし、複数のJARの依存関係も自動的に解決してくれます。

 Mavenの優れたライブラリ管理をAntで利用できるのは、Antユーザーにとっては、ありがたいことだと思います。「Mavenは便利そうだけど、ビルドシステムをAntから移行するのはちょっと……」と思われる方は、ぜひIvyを使ってみることをお勧めします。


「ユカイ、ツーカイ、カイハツ環境!」バックナンバー
前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。