一、准备一个Quarkus项目

可使用Quarkus CLI快速生成一个Quarkus项目,如下所示:

quarkus create

该命令将生成一个名为code-with-quarkus的项目,如果不想使用quarkus-cli,也可基于Quarkus脚手架IDE插件创建项目。

进入项目根目录,编译运行:

mvn compile quarkus:dev

或生成jar包后运行:

mvn package -Dquarkus.package.type=uber-jar
java -jar target/*.jar 

验证应用:

curl http://localhost:8080/hello

二、构建可执行文件

执行maven打包时,quarkus-maven-plugin插件可根据quarkus.package.type配置的值决定生成文件的类型,配置为uber-jar生成则可执行jar包(如前文所示),配置为native则生成原生可执行文件,如下所示:

mvn package -Dquarkus.package.type=native

运行可执行文件:

./target/*-runner

验证应用:

curl http://localhost:8080/hello

上述生成可执行文件的命令需要GraalVM环境,如果不想配置GraalVM,也可以使用Docker完成构建:

mvn package -Dquarkus.package.type=native -Dquarkus.native.container-build=true

ARM架构的MacBook电脑可能会执行失败,可暂时使用x86机器构建。

三、构建镜像

使用quarkus-maven-plugin插件的image-build执行目标构建Docker镜像:

mvn quarkus:image-build

该命令会生成一个Docker镜像,如:luanrz/code-with-quarkus:1.0.0-SNAPSHOT

运行容器:

docker run --rm -p 8080:8080 luanrz/code-with-quarkus:1.0.0-SNAPSHOT

验证应用:

curl http://localhost:8080/hello

参考文档

  1. Quarkus官方网站
  2. GraalVM官方网站