2010年2月6日土曜日

NetBeans で Ivy を使う

NetBeans にて Ivy の利用をサポートしてくれるプラグイン、 IvyBeans の紹介です

複雑な依存関係をもつフレームワーク等を使うとき、 Maven を利用するとその煩わしさに悩まされることは少なくなります
NetBeans では 6.7 以降 Maven を標準でサポートしており、特に違和感なく Maven の強力な機能を活用できるかと思います

しかし、依存関係の解決だけで十分だったり、 ビルドツールとしては Ant を使いたい場合などは Ivy を使うことで対応できます
NetBeans では Ivy サポートプラグインである IvyBeans を使用することで、上記の Maven サポートに劣らず、Ivy の便利な機能がそのまま 利用可能になります

今回の紹介では Ivy そのものの使い方に関して詳しくは解説しておりませんので、必要な方は公式サイトをはじめ、その他のサイトを併せて参照ください
また、公式プラグインではありませんので、ご利用は自己責任にてお願い致します

まず、インストールですが、 IvyBeans のプロジェクトサイトより最新ファイル(2010/02/04 時点では ivybeans-1.1.zip )をダウンロードし、任意の場所に解凍します

次に NetBeans を起動し、上部メニューから「ツール > プラグイン」と選択、クリックします


プラグインウィンドウが表示されるので、「ダウンロード済み」タブを選択し、「プラグインの追加」ボタンをクリックします


先程解凍してできたファイルをすべて指定します


プラグインウィンドウに指定したファイルが追加されますので、「インストール」ボタンをクリックし、インストールを行います


以降はウィザードの指示に従ってインストール作業を進めてください
途中、未署名のためのウィンドウが出てきますので、「続行」ボタンをクリックしてください


インストールが完了したら、実際に使用してみます
まず、適当な Java のプロジェクトを作成します
(今回の例では、Java Web アプリケーションを作成しています)
作成したプロジェクトを右クリックし、表示されたメニューをより「プロパティー」をクリックします


プロジェクトプロパティーウィンドウが表示されます
新たに「 Ivy 」の項目が追加されていますので、それをクリックします


Ivy の設定項目画面から「Enable Ivy」チェックボックスをチェックし、「了解」ボタンをクリックします


プロジェクトの再スキャン後、 Ivy 関連のフォルダが追加されます


「 Ivy Libraries」 には Ivy にて管理されているライブラリ群、「 Ivy Files 」には Ivy の設定ファイル(デフォルトでは" ivy.xml ")が管理されています

Ivy にてライブラリ管理をするには、従来通りの設定ファイル(" ivy.xml ")を直接編集して設定する方法と GUI を使用して設定する方法があります
まずは、 GUI を使用した方法について説明します
プロジェクト中より「 Ivy Libraries 」を右クリックし、表示されたメニューより「 Add Library 」をクリックします


Add Library ウィンドウが表示されます


「org」に所属、グループIDを記述することで、以降の項目はそれに属する値が補完されます


入力後、「OK」ボタンをクリックすると、内容は設定ファイル(" ivy.xml ")に反映されます

次に直接設定ファイル(" ivy.xml ")に記述する場合は「 Ivy Files 」を展開し、表示されるファイルをダブルクリックします


エディタウィンドウにファイルが開き、内容を直接編集することができます
設定ファイルエディタでも入力内容は補完してくれます


設定ファイルへの設定完了後は、プロジェクト構築時に依存関係を自動的に解決し、不足しているライブラリをダウンロードしてくれます
また、「 Ivy Libraries 」を右クリックし、表示されたメニューより「 Force Resolve 」をクリックすることで、手動実行も可能です


ライブラリを依存関係より削除、または除外する場合は「 Ivy Libraries 」を展開し、表示されるライブラリを右クリックし、表示されたメニューより「 Remove Library 」をクリックします


依存するライブラリとして追加されたものは削除、依存関係として自動的に追加されたものは除外するよう、設定ファイル( "ivy.xml" )に反映されます

以上が IvyBeans の機能紹介となります
Ivy 使いの方、 NetBeans の標準プロジェクトで依存関係の解決に辟易されている方は一度お試し頂ければと思います

0 件のコメント: