Quarkusです、Quarkus。
Mavenのアップデート
QuarkusのビルドにはMaven 3.5.3が必要ですが、NetBeans11にバンドルされているMavenは3.3.9なので、そのままではビルドなどができません。
ということで、Mavenの最新版をダウンロードしてどこかに解凍します。
Maven – Download Apache Maven
そしたら、PreferenceのJavaタブでMavenを選んでMavenを解凍したパスを設定します。
プロジェクトの作成
残念ながら、GUIからのプロジェクト作成は できなさそう。なので、ドキュメント通りにコマンドラインでプロジェクト生成します。
$ mvn io.quarkus:quarkus-maven-plugin::create
そうするとArtifact IDなどを聞かれてくるので、適当に入力していきます。 (もちろん空のMavenやGradleプロジェクトを作成してビルドファイルを編集すれば、プロジェクト作れます。)
※ 6/29追記
0.18.0でネイティブコンパイルがGraalVM 19に対応しました。プロジェクト作成時にバージョンを明示しておく必要があります。
$ mvn io.quarkus:quarkus-maven-plugin:0.18.0:create
実行用Goalの設定
開発時のプロジェクト実行にはquarkus:dev:
というGoalを使う必要があります。そのままではNetBeansのメニューからのプロジェクト実行ができません。
なので、プロジェクト実行時に実行されるGoalを指定します。
プロジェクトのプロパティからActionsを選んでRun ProjectのExecute Goalsにquarkus:dev:
を指定します。
またSet Propertiesのところにexec.argsでclasspathが指定してあるので、この行は削除しておきます。
そうすると[F6]などでプロジェクトが実行できるようになります。
Native Imageの作成
ついでにNative Imageを作れるようにしましょう。
現時点ではGraalVMの最新であるバージョン19ではなく、ひとつ前のRC16が必要です。
Release GraalVM Community Edition 1.0 RC16 · oracle/graal
※ 6/29追記 0.18.0からGraalVM 19に対応しています。
必須ではないですがJavaプラットフォームとして登録しておきましょう。
Build->Compileでプロジェクトのプラットフォームとして指定しておくのが無難です。
ActionsでAdd Customを選んでNativeを追加します。(別の名前でもいいです)
Execute Goalsにpackage -Pnative
を指定します。また、GRAALVM_HOMEを指定しておく必要があります。
※ 7/15追記 0.19ではGRAALVM_HOMEが不要になっています。
Use JDK for Maven Buildを使うとJAVA_HOMEが埋め込まれるので、それをGRAALVM_HOMEに書き換えるのが楽です。
そうするとプロジェクトメニューのRun MavenにNativeが追加されるので、ここからNative Imageが作成できるようになります。
1分ちょっとかかってNative Imageのビルドができました!