Java EE 6に対応したNetBeans 6.8

2009年12月、NetBeansの最新版であるNetBean 6.8がリリースされた。このバージョンはJava EE 6に対応したGlassfish v3がバンドルされており、Java EE6での開発に対応した最新のJava IDEで、以下のような新機能を含んでいる。

  • Java EE 6のサポート
  • JSF 2.0/Faceletsのサポート
  • Kenai連携機能の改善、JIRAの標準サポート
  • Symfonyフレームワークのサポートを含むPHP 5.3のサポート
  • C/C++のプロファイル機能の強化
  • Groovy1.6.4のサポートとコード補完の改善
  • SQLエディタでのコード補完の強化

今回は特にJava EE 6での開発をサポートする機能にフォーカスしてNetBeans 6.8の新機能を紹介する。

JSF 2.0、Faceletsに対応

JSFはもともとJava EE 5においてEoD(Ease of Development)というコンセプトの下にJavaの標準的なWebフレームワークとして導入されたものだ。コンポーネント指向/イベント駆動型のフレームワークであり、Visual BasicのようにRADツールを利用することで初心者でも簡単に開発ができることを大きな目的としていた。

NetBeans 6.8ではJSF 2.0をサポートしており、Webアプリケーションプロジェクトの作成時に使用するフレームワークとしてJSF 2.0を選択することができる。バンドルされているGlassfish v3で動作確認を行うことが可能だ。

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

JSF 2.0はJSF 1.xと比較してさまざまな改良が加えられており、設定ファイルの省力化やFaceletsによるXHTMLベースのビューテンプレートを使用することが可能になっている。XHTMLベースのビューは通常のHTMLタグにjsfc属性でマッピングするカスタムタグを指定できるのが特徴で、Webブラウザでプレビュー可能なHTMLテンプレートとして利用することができる。

同一のビューをjsfc属性を使わない場合と使った場合の違いを以下に示す。

jsfc属性を使わない場合

<h:form>
  <h:inputText value="#{helloBean.name}" required="true"/>
  <h:commandButton value="送信" action="#{helloBean.send}"/>
</h:form>

jsfc属性を使う場合

<form jsfc="h:form">
  <input jsfc="h:inputText" type="text" value="#{helloBean.name}" required="true"/>
  <input jsfc="h:commandButton" type="submit" value="送信" action="#{helloBean.send}"/>
</form>

ただし、NetBeans 6.8ではjsfc属性を使わない記述方法については入力補完やエラーチェック、ドキュメントのポップアップ表示など様々な支援機能が提供されているが、jsfc属性を使用する場合はこれらの機能を利用することができないというデメリットがある。

なお、FaceletsはTilesのような共通レイアウトを実現するための機能も備えており、NetBeans 6.8では共通レイアウトを定義するテンプレートや、共通レイアウトを使用するテンプレートの雛形を生成するためのウィザードも用意されている。また、NetBeans 6.8ではEJB3(JPA)やHibernateなども標準でサポートされており、データベースと連携したWebアプリケーションも簡単に作成することができる。エンティティからCRUDアプリケーションを自動生成することも可能だ。

JIRAとの統合

課題追跡システムとの連携機能としてBugzillaに加えてJIRAがサポートされた。サービスビューの課題追跡というノードから課題管理システムとの接続を作成できる(ただし、初回の接続時にJIRAプラグインのダウンロードを要求される)。

接続を作成した後は課題の報告や、検索/編集など、JIRAに対する基本的な操作を行うことが可能だ。作成した検索条件は保存しておくこともできる。

図2 JIRAの課題を検索

図3 課題の編集

また、NetBeansのチーム機能とも連携しており、ソースのコミット時に課題を選択してクローズするといった操作も可能だ。

図4 コミット時に課題を更新

まとめ

NetBeans 6.8では大々的な新機能は少なく、Java EE 6への対応自体が最大のトピックとなっているように見受けられる。特にJSF 2.0への対応にはかなり力が入れられているようだ。JSFはJava EE 5において待望のJava標準仕様のWebフレームワークとして登場したものの、3年が経つ現在でも主流となっているとは言い難い。Java EE 6とJava EE 6対応のIDEであるNetBeans 6.8の登場によってJSFが受け入れられるかにも注目したい。