Wener Notes

Quarkus

约 2 分钟阅读
  • QuarkusLinkquarkus.ioQuarkus - Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot · code.quarkus.io 项目生成,类似于 spring 的 start · RedHat 团队 - 依赖的主要是 RH 相关的中间件笔记:Quarkus - Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot
  • code.quarkus.ioLinkcode.quarkus.ioQuarkus - Kubernetes Native Java stack tailored for GraalVM & OpenJDK HotSpot · code.quarkus.io 项目生成,类似于 spring 的 start · RedHat 团队 - 依赖的主要是 RH 相关的中间件笔记:Quarkus 项目生成,类似于 spring 的 start
  • RedHat 团队 - 依赖的主要是 RH 相关的中间件
  • 主要优势
    • 快速启动
    • 内存占用少
    • quarkus-maven-plugin 对开发友好
    • cdi+resteasy = 20mb 二进制
  • 主要依赖
    • quarkus arc - CDI
      • 非反射 - 因为 Graalvm 不支持大部分反射
      • 在部署时生成元数据类
        • META-INF/jandex.idx
        • *.zig - Jvm IR
        • quarkus.index-dependency 配置项
    • Substrate VM
    • undertow - 默认 servlet 容器
    • resteasy - jaxrs 实现
    • quarkus-hibernate-orm-panache - 类似于 ActiveRecord 的扩展
    • MicroProfile - 微服务相关能力

quarkus-maven-plugin

命令说明
mvn quarkus
添加扩展
mvn quarkus
添加扩展
mvn quarkus
分析调用树
mvn quarkus
构建
mvn quarkus
创建项目,生成文件
mvn quarkus
创建扩展
mvn quarkus
启动开发服务
mvn quarkus
生成示例配置
mvn quarkus
帮助
mvn quarkus
查看扩展
mvn quarkus
构建本地镜像
mvn quarkus
远程开发
bash
# 启动开发服务
mvn compile quarkus:dev

# 构建 native 镜像
mvn package -Pnative
# 如果没有设置 GRAALVM_HOME 可以手动设置
GRAALVM_HOME=~/jdk/graalvm/Contents/Home/ mvn package -Pnative
# 如果失败,尝试安装 native-image


# 创建项目
mvn io.quarkus:quarkus-maven-plugin:0.22.0:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=application-lifecycle-events \
    -DclassName="org.acme.events.GreetingResource" \
    -Dpath="/hello"

mvn io.quarkus.platform:quarkus-maven-plugin:2.16.4.Final:create \
    -DprojectGroupId=org.acme \
    -DprojectArtifactId=openapi-swaggerui-quickstart \
    -Dextensions='resteasy-reactive-jackson' \
    -DnoCode
cd openapi-swaggerui-quickstart

关联信息

反向链接、本文链接的其他页面和外部资料。

References

其他外链2 条
最近更新commit eebbdfcEdit

On this page