Apache NetBeans 9 betaが出ていた

Apacheに移管されたNetBeans 9のbetaが出ていました。通常なら、betaが出たくらいではブログにしないのだけど、今回はApacheへの移行にかなり苦労されていたようなので、移行して初の成果物公開記念ということでエントリを書きます。
全体的には、今回はApache NetBeansとしての体裁を整えただけという感じで、機能性や品質はあまり期待できません。それだけ、体裁を整えるだけで大変だったようです。
出てくれただけで嬉しい。

nb-javacのインストール

起動するとまずnb-javacをインストールするように聞かれます。ライセンスがクラスパス例外付GPL2であるnb-javacをApacheライセンスであるApache NetBeansに含めることができなかったためです。


Java 8で動かしている場合には、確認ダイアログが出ます。これを無視すると、エディタ上でのいろいろ機能が使えなくなります(たぶん)。


Java 9で動かしている場合は、通知として出ます。こちらは無視しても機能上問題ないようなのですが、強くおすすめされています。

JShell対応

JShell対応が組み込まれました。


Javaエディタを魔改造しているので、いつもと同じように補完が効くのがコマンドラインで使うよりもうれしいところ。補完自体はコマンドラインでもできますが、スクロール可能だったりJavaDocが表示できたり、importされていないライブラリを使うときには自動的にimport文が挿入されたり、便利です。


JavaプロジェクトからJShellの呼び出しができるようにもなっています。


ただ、Antプロジェクトでは、プロジェクト定義や利用ライブラリのクラスが補完に出てくるものの、JShell側では認識していなくて使えなかったり、MavenプロジェクトではそもそもJShellが動かなかったりします。

モジュール対応

モジュール対応もされています。Javaプラットフォームの画面では、モジュール一覧が表示されています。


module-infoのテンプレートも用意されています。どこに置けばいいんだっけーとか気にしなくていいので便利。


モジュール名も補完してくれます。

けど、GUIエディタ欲しいな。


あと、JFrameフォームやJavaFXクラスなど、モジュールが必要なクラスをUIから新規作成したときには、自動的にモジュールが追加されます。エディタの補完でも できるようにして欲しいな。


ただ、補完などで頻繁に例外が出ます。

モジュールの依存関係をグラフ表示する機能もあるのですが、例外が出て使えませんでした。


HTTP Clientのようにincubatedなモジュールを使うときには、コンパイラオプションやVMオプションを手書きする必要があります。これもUI対応が欲しいところ。

まとめ

とまあ、ちゃんと動かないところがあったり、Java EE対応機能などは まだだったり、なのでもちろんJavaScriptやHTMLの対応もしていなかったり、日本語リソースも入ってなかったりと、実用的に使えるようには なっていませんが、とにかくちゃんとApache移行して動くものが出てきたというだけで嬉しいです。
ところで、Javaのバージョンにあわせて数字が変わってきていたのですが、今後のバージョン番号はどうするんでしょうね?