JavaSE 7に対応したNetBeans 7.0

2011年4月、NetBeansの最新版である7.0がリリースされた。NetBeans 7.0では以下のような機能追加が行われている。

  • JavaSE 7の新しい構文に対応
  • WebLogic、GlassFishサポートの強化
  • Oracleデータベースのサポート
  • Maven3のサポート
  • CDI、REST サービス、JPA、Bean Validationサポートの改善
  • HTML5の編集のサポート

このほか、PHPやC/C++に関する機能強化も行われている。なお、ライセンスの問題からNetBeans 7.0ではインストール時にJUnitをインストールするかどうかを個別に確認される。必要に応じてインストールしておこう。

また、Ruby / Ruby on RailsおよびJavaFXのサポートが削除されている。ただし、Ruby / Rails用の開発支援機能についてはコミュニティによってメンテナンスは継続されており、別途プラグインとして導入することで利用可能だ。JavaFXサポートの削除も一時的なものであり、今後JavaFX 2.0に対応するとのことだ。いずれにしろこれらの機能を使用しているユーザは注意して欲しい。

図1: NetBeans 7.0のスプラッシュスクリーン

JavaSE 7.0の機能を試してみる

NetBeans 7.0において最も注目すべき点はJavaSE 7に対応しているということだろう。もっとも、JavaSE 7自体はまだ正式にはリリースされていないため、現時点で実際にJavaSE 7を使用するにはJDKのDeveloper Previewをインストールする必要がある。

JavaSE 7ではいくつかの新しい構文が導入されている。たとえばジェネリクスを使用したコレクションの生成を簡潔に記述できたり、switch文の条件に文字列を使用できるようになっていたり、複数の例外をまとめてキャッチするための構文が追加されている。これらの構文をNetBeans 7.0で使用するためにはプロジェクトのプロパティーダイアログでソース/バイナリ形式にJDK 7を選択しておく必要がある。

ジェネリクスを使用したコレクションの生成

  • JavaSE 7以前


List<String> list = new ArrayList<String>();
  • JavaSE 7の場合


List<String> list = new ArrayList<>();

swicth文の条件に文字列を使用可能

String value = ...
switch (value) {
  case "DOG":
    System.out.println("わんわん");
    break;
  case "CAT":
    System.out.println("にゃんにゃん");
    break;
  default:
    break;
}

複数の例外のキャッチ

  • JavaSE 7の場合

try {
  ...
} catch(SQLException | IOException ex){
  ex.printSTackTrace();
}

図2: ソース/バイナリのバージョンを指定

NetBeans 7.0ではクイックフィックス(行番号のルーラの電球アイコンをクリックするか、エディタ上のエラー/警告箇所で[ALT]+[ENTER]で起動可能なエラーの自動訂正機能)でもこれらの構文に対応しており、JavaSE 7の構文に変換可能なコードについてはクイックフィックスで訂正することができる。

図3: クイックフィックスでJavaSE 7の構文に変換

JavaEE関連の新機能

WebLogicのサポートが強化されたほか、Tomcat 7、JBoss 6、GlassFish 3.1に対応している。特にWebLogicのサポートの強化はOracleデータベースのサポートの強化(NetBeans上からストアドの編集が可能になっている)とあわせ、OracleによるSun買収の影響を強く感じさせるものといえるだろう。

JSF(Facelets)利用時のXHTMLエディタではELに関する機能が大幅に強化されている。補完時にJavadocのポップアップ表示が可能になっているほか、ELの構文チェックやマネージド・ビーンのプロパティ、メソッドの有無のチェックが可能だ。

図4: マネージド・ビーンの補完

また、マネージド・ビーンの使用状況の検索結果にELも含まれるようになった。リファクタリング時もマネージド・ビーンのクラス名、プロパティ名、メソッド名の変更と同時にELも修正することができる。

図5: マネージド・ビーンの使用状況検索結果

図6: マネージド・ビーンのリファクタリング

この他にもJSFでは拡張コンポーネントとしてPrime Facesの利用が標準でサポートされているほか、データベースのテーブルのCRUD処理を行うRESTful Webサービスを生成するウィザード、Bean Validation用のウィザードなどが追加されている。JavaEEを活用しているユーザにとってはNetBeansは強力なツールといえるだろう。

まとめ

NetBeansは最新仕様のいち早いサポートに定評があり、今回もリリース前のJavaSE 7に早速対応している。JavaSE 7は2011年7月にリリースされる予定だが、OracleによるSun買収などもあり紆余曲折の末のリリースとなる。当初期待を集めていたクロージャなどは結局JavaSE 7では採用されないこととなってしまったが、それでも新しく追加された構文やライブラリは開発効率の向上に役立つことだろう。NetBeans 7.0で一足先にJavaSE 7に触れてみてはいかがだろうか?