第 1 章 生成原生可执行文件


您可以使用 Podman 或 Docker 等容器运行时从 Quarkus 应用程序生成原生可执行文件。Quarkus 使用构建器镜像生成二进制可执行文件,您可将其与 Red Hat Universal Base Images RHEL8-UBI 和 RHEL8-UBI 一同使用。红帽构建的 Quarkus 1.11 使用 registry.access.redhat.com/quarkus/mandrel-20-rhel8:20.3 作为 quarkus.builder-image 属性的默认值。

应用程序的原生可执行文件包含应用程序代码、所需库、Java API 以及虚拟机(VM)的更精简版本。较小的虚拟机基础提高了应用程序的启动时间,并生成最小磁盘占用量。

流程

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

    <profiles>
        <profile>
            <id>native</id>
            <properties>
                <quarkus.package.type>native</quarkus.package.type>
            </properties>
        </profile>
    </profiles>
    注意

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

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

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

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

      ./mvnw package -Pnative -Dquarkus.native.container-build=true -Dquarkus.native.container-runtime=podman

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

      重要

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

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

    ./target/getting-started-*-runner

    当您构建原生的可执行程序时,启用了 prod 配置集,并使用 prod 配置集运行 Quarkus 原生测试。您可以使用 quarkus.test.native-image-profile 属性更改它。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部