積極的な機能追加が目立つNetBeans 6.7

去る2009年6月、オープンソースのJava統合開発環境NetBeansの最新版となる6.7がリリースされた。同月にはライバルであるEclipseも新バージョンである3.5(Galileo)がリリースされている(本連載の第59回を参照)。近年は比較的地味なアップデートが続くEclipseに比べると、NetBeansでは相変わらず積極的に新機能の追加が行われている。今回はこのNetBeans 6.7の注目の新機能を紹介しよう。

Mavenを標準サポート

NetBeans 6.7での最も大きなトピックの1つはMavenの標準サポートだろう。プロジェクト作成ウィザードでMavenプロジェクトを選択することができる。

図1 Mavenプロジェクトの作成

NetBeansではプロジェクトのビルドにAntを使用するが、Mavenプロジェクトの場合、Mavenでビルドが行われる。ビルドは必要に応じて自動的に行われるが、明示的にゴールを指定して実行することももちろん可能だ。

Mavenの特徴としてライブラリの依存関係を管理する機能を備えているという点が挙げられる。pom.xmlに使用するライブラリを指定すると自動的に依存関係を解決し、必要なJARファイルをダウンロードしてくれるというものだ。NetBeans 6.7ではライブラリの依存関係を追加するダイアログも提供されており、目的のライブラリを検索してプロジェクトの依存関係に追加することができる。また、プロジェクトの依存関係をグラフ表示することも可能だ。

図2 依存関係の追加

図3 依存関係のグラフ表示

pom.xmlの編集時はコードアシスト機能を利用することができる。XMLタグだけでなく、グループIDやアーティファクトIDなどもアシストしてくれるので、pom.xmlを直接編集する際に役立ってくれることだろう。

図4 pom.xmlの編集

EclipseにもMavenをサポートするプラグインは存在するが、NetBeansではネイティブにサポートされており、Mavenがプロジェクトのビルドプロセスに完全に統合されているため快適にMavenを利用することができる。

Project Kenaiとの連携

Project KenaiはSunが提供するオープンソースプロジェクトのホスティングサービスだ。NetBeans 6.7では「チーム」メニューからKenaiの機能を利用することができる。

図5 Kenaiとの連携

NetBeans上でKenaiにログインし、プロジェクトを作成したり、NetBeans上のプロジェクトをKenaiで共有することができる。また、Kenaiでホスティングされているプロジェクトを検索してソースコードをチェックアウトすることができる。

図6 Kenaiへのログイン

図7 Kenaiのプロジェクトを検索

オープンソースプロジェクトのホスティングサービスにはさまざまなものがあるが、これだけIDEで手厚くサポートされているサービスはないだろう。オープンソース開発にNetBeansを使うのであればKenaiの利用も検討するといいだろう。

Hudsonとの連携

その他にもHudsonとの連携機能が追加された。Hudsonは継続的インテグレーションを実現するためのWebアプリケーションで、Subversionなどのリポジトリからのソースコードのチェックアウト、AntやMavenなどによるプロジェクトのビルド、結果の通知、といった一連の処理を容易に自動化することができる。

NetBeans 6.7では「サービス」ビューにHudsonを登録し、ジョブの実行や実行結果の参照を行うことができるほか、「チーム」メニューからNetBeans上のプロジェクトをHudsonでビルドするジョブを登録することもできるようになっている。NetBeansはもともとAntやMavenでプロジェクトをビルドするため、HudsonなどのCIツールとの相性はよいかもしれない。

図8 Hudsonとの連携

まとめ

これまでの積極的な機能改善の成果もあり、NetBeans 6.7ではもはやEclipseと遜色がないレベルに達しているといってもいいだろう。また、NetBeans 6.7ではオンデマンド機能によってモジュールが必要に応じて遅延ロードされるようになっており、起動速度も高速化している。Eclipseよりも快適に動作すると感じるケースも少なくないはずだ。

もともとNetBeansはJava標準仕様のいち早いサポートや、強力なSwing向けのGUIビルダといった強みがあり、最新版ではさらにMavenも強力にサポートされるようになった。現在Java IDEとしてはEclipseが絶対的な地位を築いているが、NetBeansが標準で提供するこれらの機能にメリットを感じるのであればEclipseからの乗り換えを検討してもよいだろう。