简介Quarkus是一个类似SpringBoot的框架,可以方便大家进行Java开发。利用GraalVM的魔力,可以更好的适配云原生场景,实现极快的启动速度。在创建项目的时候,IDEA里面有直接创建Quarkus项目的初始化工具,可以根据自己的需要填写,很方便:选择一些你需要的组件和依赖,我这里只选择WebReactive.这与SpringBoot非常相似。生成的Java代码只有一个文件,非常简单紧凑:编译运行成功后,将编译目标改为11,因为我用的是JDK11。尝试使用mvncleanpackage打包并下载依赖包。编译成功后,IDEA支持直接运行Quarkus程序,如下:启动成功如下:Quarkus在首页提供了一些开发信息和工具,如下:接入服务如下:直接修改Java代码:@GET@Produces(MediaType.TEXT_PLAIN)publicStringhello(){return"Hellofrompkslow.com";}无需重启即可生效:在Docker上运行打包为Native的Docker镜像,命令如下:$mvncleanpackage-Dnative-Dquarkus.native.container-build=true-Dquarkus.native.container-runtime=docker第一次可能会耗时较长,需要下载镜像。但是这种镜像的方法是把文件放在镜像外面。使用-v运行它。所以我们再次通过下面命令来生成镜像:$dockerbuild-fsrc/main/docker/Dockerfile.native-tpkslow/quarkus-quickstart.SendingbuildcontexttoDockerdaemon55.41MBStep1/7:FROMregistry.access.redhat.com/ubi8/ubi-minimal:8.68.6:Pullingfromubi8/ubi-minimala6577091999b:PullcompleteDigest:sha256:33931dce809712888d1a8061bfa676963f517daca993984afed3251bc1fb5987Status:Downloadednewerimageforregistry.access.redhat.com/ubi8/ubi-minimal:8.6--->abb1ba1bceabStep2/7:WORKDIR/work/--->Runninginb1f6c5c33919Removingintermediatecontainerb1f6c5c33919--->44961ddcb521Step3/7:RUNchown1001/work&&chmod"g+rwX"/work&&chown1001:root/work--->Runningine1c1a83e964fRemovingintermediatecontainere1c1a83e964f--->225868ceda2cStep4/7:COPY--chown=1001:roottarget/*-runner/work/application--->55b2bba61da1Step5/7:EXPOSE8080--->在9b90514423eb中运行删除中间容器9b90514423eb--->00f981b47b0eStep6/7:USER1001--->Runninginbd5d1b723784Removingintermediatecontainerbd5d1b723784--->14d55159d2d9Step7/7:CMD["./application","-Dquarkus.http.host=0.0.0.0"]--->Runninginc60a96727644Removingintermediatecontainerc60a96727644--->77fdda464a6aSuccessfullybuilt77fdda464a6aSuccessfullytaggedpkslow/quarkus-quickstart:latest通过Docker来启动:$dockerrun-i--rm-p8080:8080:8080__________________________--/_??_\////_|/_\///_////__/-//_///_//__|/,_/,/_//\\--\___\_\____/_/|_/_/|_/_/|_|\____/___/2022-11-0107:36:38,557信息[io.quarkus](主要)quarkus-quickstart1.0-SNAPSHOT本机(由Quarkus2.13.3提供支持.Final)开始于0.022秒。收听:http://0.0.0.0:80802022-11-0107:36:38,558INFO[io.quarkus](main)Profileprod已激活。2022-11-0107:36:38,558INFO[io.quarkus](主要)Installedfeatures:[cdi,resteasy-reactive,smallrye-context-propagation,vertx]可以看出启动还是挺快的,访问对应的网页和界面只需要22ms,也很正常。代码请看GitHub:https://github.com/LarryDpk/p...参考:CREATINGYOURFIRSTAPPLICATIONBUILDINGANATIVEEXECUTABLE
