きしだのはてな このページをアンテナに追加 RSSフィード

2018-02-22(木) Apache NetBeans 9 betaが出ていた

[]Apache NetBeans 9 betaが出ていた 15:33 Apache NetBeans 9 betaが出ていたを含むブックマーク

Apacheに移管されたNetBeans 9のbetaが出ていました。通常なら、betaが出たくらいではブログにしないのだけど、今回はApacheへの移行にかなり苦労されていたようなので、移行して初の成果物公開記念ということでエントリを書きます。

全体的には、今回はApache NetBeansとしての体裁を整えただけという感じで、機能性や品質はあまり期待できません。それだけ、体裁を整えるだけで大変だったようです。

出てくれただけで嬉しい。


nb-javacのインストール

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


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

f:id:nowokay:20180222144504p:image


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

f:id:nowokay:20180222144502p:image


JShell対応

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

f:id:nowokay:20180222144459p:image


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


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

f:id:nowokay:20180222150908p:image


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


モジュール対応

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

f:id:nowokay:20180222144456p:image


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

f:id:nowokay:20180222144453p:image


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

f:id:nowokay:20180222144450p:image

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


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


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

f:id:nowokay:20180222144446p:image

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


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


まとめ

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

ところで、Javaのバージョンにあわせて数字が変わってきていたのですが、今後のバージョン番号はどうするんでしょうね?