第 1 章 生成原生可执行文件
您可以使用 Podman 或 Docker 等容器运行时从 Quarkus 应用程序生成原生可执行文件。Quarkus 使用构建器镜像生成二进制可执行文件,您可以和 Red Hat Universal Base Images RHEL8-UBI 和 RHEL8-UBI 最小一起使用。Red Hat build of Quarkus 1.11 使用 registry.access.redhat.com/quarkus/mandrel-20-rhel8:20.3 作为 quarkus.native.builder-image 属性的默认值。
应用程序的原生可执行文件包含应用程序代码、所需的库、Java API 和虚拟机(VM)的减少版本。较小的虚拟机基础改进了应用程序的启动时间,并生成最小的磁盘占用。
流程
打开 Getting Started 项目
pom.xml文件,并验证该文件是否包含native配置集:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用 Quarkus
native配置集允许您运行原生可执行文件和原生镜像测试。使用以下方法之一构建原生可执行文件:
使用 Docker 构建原生可执行文件:
./mvnw package -Pnative -Dquarkus.native.container-build=true
./mvnw package -Pnative -Dquarkus.native.container-build=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用 Podman 构建原生可执行文件:
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman
./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podmanCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这些命令在
目标目录中创建get-started the guestfish-runner二进制文件。重要在分析和优化过程中,将 Quarkus 应用程序编译到原生可执行文件中会消耗大量内存。您可以通过设置
quarkus.native.native-image-xmx配置属性来限制原生编译过程中使用的内存量。设置低内存限值可能会增加构建时间。如需了解更多详细信息,请参阅 原生可执行配置属性。
运行原生可执行文件:
./target/getting-started-*-runner
./target/getting-started-*-runnerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 构建原生可执行文件时,启用了
prod配置集,并使用prod配置集运行 Quarkus 原生测试。您可以使用quarkus.test.native-image-profile属性进行修改。