NetBeansからHelidonを使う

Helidonです、Helidon。

プロジェクトの作成

HelidonはMavenプロジェクト的には素直なので、Mavenはバンドルの3.3.9で大丈夫です。 プロジェクト作成もNetBeansからできます。

新規作成でjava with MavenからProject from Archetypeを選びます。
f:id:nowokay:20190620004502p:plain

Archetypeの検索でHelidonといれるとSEとMPが出るので、好きなほうを。
ここではSEにします。
f:id:nowokay:20190620004813p:plain

あとは適当にプロジェクト名などを。
f:id:nowokay:20190620005453p:plain

プロジェクトが作成されました。
f:id:nowokay:20190620005633p:plain

ビルドや実行なども通常のプロジェクトどおりメニューから行えます。

Native Imageの作成

Helidon SEはGraalVMのNative Imageに対応していますが、単にjarファイルをnative-imageコマンドでコンパイルはできなかったので、Mavenからネイティブコンパイルを行う必要があります。
ネイティブコンパイルするときは、native-imageプロファイルをActivateする必要があります。
f:id:nowokay:20190620010247p:plain

また、GraalVMのnative-imageコマンドにPATHが通ってる必要があります。バージョンはRC16ではダメでした。19.0.0以降が必要です。
ビルドするとネイティブコンパイルが始まります。
f:id:nowokay:20190620014744p:plain

ただ、native-imageにパスを通したりプロファイルを切り替えたりは面倒なので、Quarkusの場合と同じようにGoalを設定するほうがよさそう。 f:id:nowokay:20190620020356p:plain

この場合、Goalsにはpackage、Profilesにnative-image、PropertiesにEnv.PATHを設定します。
Env.PATHは${Env.PATH}:で始めて既存のパスを有効にする必要があるのと、パスなのでbinまでいれる必要があることに注意してください。Remember Asにnativeなどを設定しておくとメニューから選べるようになります。 f:id:nowokay:20190620020154p:plain

これでプロファイル切り替えをせずにネイティブコンパイルできるようになります。 f:id:nowokay:20190620020824p:plain

ということで、やはり1分20秒くらいかけてネイティブコンパイルできました。 f:id:nowokay:20190620021507p:plain