第 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)的减少版本。较小的虚拟机基础改进了应用程序的启动时间,并生成最小的磁盘占用。

流程

  1. 打开 Getting Started 项目 pom.xml 文件,并验证该文件是否包含 native 配置集:

    <profiles>
        <profile>
            <id>native</id>
            <properties>
                <quarkus.package.type>native</quarkus.package.type>
            </properties>
        </profile>
    </profiles>
    Copy to Clipboard Toggle word wrap
    注意

    使用 Quarkus native 配置集允许您运行原生可执行文件和原生镜像测试。

  2. 使用以下方法之一构建原生可执行文件:

    1. 使用 Docker 构建原生可执行文件:

      ./mvnw package -Pnative -Dquarkus.native.container-build=true
      Copy to Clipboard Toggle word wrap
    2. 使用 Podman 构建原生可执行文件:

      ./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman
      Copy to Clipboard Toggle word wrap

      这些命令在 目标 目录中创建 get-started the guestfish-runner 二进制文件。

      重要

      在分析和优化过程中,将 Quarkus 应用程序编译到原生可执行文件中会消耗大量内存。您可以通过设置 quarkus.native.native-image-xmx 配置属性来限制原生编译过程中使用的内存量。设置低内存限值可能会增加构建时间。如需了解更多详细信息,请参阅 原生可执行配置属性

  3. 运行原生可执行文件:

    ./target/getting-started-*-runner
    Copy to Clipboard Toggle word wrap

    构建原生可执行文件时,启用了 prod 配置集,并使用 prod 配置集运行 Quarkus 原生测试。您可以使用 quarkus.test.native-image-profile 属性进行修改。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部