AntでもMavenの旨味を甘受? それって、アリ?
PerlやPython、RubyのようなLL言語には、「CPAN」「easy_install」「gem」といった、Webからライブラリをダウンロードして利用する機能があります。Javaでも「Maven」を使えば、ビルドファイルに記述したライブラリをネットワークを経由して自動的にインストールできるというのは@ITの読者なら、ご存じかと思います。
しかしながら、ビルドツールMavenに移行しておらず、「Ant」を利用しているプロジェクトも、たくさんあるかと思います。
そんなプロジェクトでも、「Apache Ivy」(以下、Ivy)を使えば、Mavenリポジトリにある膨大なJavaライブラリをAntから利用でき、ビルドシステムをMavenに変更することなく、Mavenのライブラリ管理の恩恵を受けることができるということを、ご存じでしょうか。
本稿では、Apache IvyとEclipse上でのIvyの利用をサポートする「IvyDE」を利用したJavaライブラリ管理について紹介します。AntやMavenの基礎的なところを知りたい方は、少し古いですが、以下の記事を参照しておいてください。
- AntでJavaのビルドを簡単にしよう
[連載]現場に活かすJakarta Project(2)
ファイル数が多くなると、とかく面倒になるビルド。Java IDEに頼ることなく、どんな環境でも簡単にビルドできるAntを活用してみよう - Eclipseからビルドツール「Ant」を使う
連載:Eclipse徹底活用(1)
Eclipse 2.1ではAnt対応が強化された。EclipseとAntを組み合わせて使うと、ソースファイルがどんなに多くてもトラブルなくビルドが行える - Eclipseプラグインq4eでカンタンMaven入門
ビルドやテスト、レポート作成、依存ライブラリ追加を自動化するMavenと、その操作を簡単にするEclipseプラグイン「q4e」を紹介。仕事が楽になるのでAntに代わるビルドツールとして使ってみては?
Apache Ivy&IvyDEの4つの特徴
Ivyは、「The Agile Dependency Manager」をキャッチフレーズとして開発されているライブラリの依存関係を管理するツールです。もともと「Jayasoft」という企業が開発していましたが、Ivy 2.0からAntプロジェクトに統合され、開発が継続されています。Ivyは次のような特徴を持ちます。
【1】Antと統合して利用できる
IvyはAntのタスクとして利用できるので、Antユーザーであれば簡単に利用できます。
【2】依存関係を解決
Ivyに、利用したいライブラリを設定しておくと、そのライブラリを動作させるのに必要なライブラリも、Ivyが自動的に整備してくれるので、依存関係を自動的に解決してくれます。
【3】Ivyを利用したプロジェクトはIvyに深く依存しない
Ivyを利用したプロジェクトは、Ivyを使わなくても利用できるようになります。1度Ivyを利用してライブラリをコピーしておけば、後はIvyがなくても利用可能です。
【4】Eclipseのプラグインが利用可能
EclipseのプロジェクトにIvyを統合する「IvyDE」プラグインがあります。
Eclipse 3.6にIvyをセットアップ
まずは、IvyDEとIvyをEclipseにセットアップする方法を説明します。Eclipseには、Eclipse 3.6をベースとしたPleiades 3.6を利用しました。
IvyDEのインストール
EclipseのアップデートサイトにIvyDEのサイトのURL「http://www.apache.org/dist/ant/ivyde/updatesite」を指定して、下記のプラグインをインストールします。
- Apache Ivy library
- Apache IvyDE Eclipse plugin
Antのクラスパスの設定
次に、IvyのAntタスクを定義したJARファイルをAntのクラスパスに追加します。
Eclipseメニューの[ウィンドウ]→[設定]→[Ant]→[ランタイムを」を選択し、「クラスパス]→[Antホーム項目]→[外部Jar追加]で追加するJARファイルとして、Eclipseをインストールしたディレクトリの下にある「plugins/org.apache.ivy.eclipse.ant_x.x.x/ivy.jar」(x.x.xはバージョンにより異なる)を選択し、IvyのJARファイルをAntのクラスパスに追加します。
百聞は一見にしかず! Ivyを使ってみよう
準備ができたら、Ivyを利用してみましょう。Ivyを利用する前に、Ivyを利用するJava(Java EE)プロジェクトを開きます。Ivy用の設定ファイル「ivy.xml」を定義し、そこに依存関係を記述することで、IvyDEが自動的に定義したライブラリにクラスパスを通してくれます。
また、Antのビルドファイルを記述して実行することで、必要なJARファイルをプロジェクトのフォルダにダウンロードできます。ここでは、動的Webプロジェクトを例に使い方を紹介します。
ivy.xmlの作成
ライブラリを定義するivy.xmlを作成します。Eclipseメニューの[ファイル]→[新規]→[その他]から[IvyDE]→[Ivy file]を選択し、プロジェクトのルートディレクトリにivy.xmlを作成します。
MavenのリポジトリのJARを追加
ここからivy.xmlに利用したいライブラリを定義していきます。Ivyを使うと、インターネット上でたくさんのJavaライブラリを管理するMavenのリポジトリを利用できます。ここでは、MavenのリポジトリのJARを追加する方法を紹介します。
ライブラリの検索
インターネット上にあるMavenのライブラリを検索できる「Maven Repository」から、利用したいライブラリを検索します。
見つかったライブラリをクリックし、さらにバージョンをクリックすると、そのライブラリを利用するための設定を取得できます。Ivyで利用するための設定は、「Apache Ivy(ant)」と書かれた欄に記述されています。
例えば図2を見ると、ライブラリの定義は、以下であることが分かります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ライブラリの追加
ivy.xmlにdependencies要素を追加して、先ほど検索した結果を基にライブラリを定義します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
次ページでは、引き続きIvyの基本的な使い方について解説し、配布物にJARファイルを同梱する方法や、プロキシ環境利用時でのIvyDEの注意点も紹介します。
Copyright © ITmedia, Inc. All Rights Reserved.