1.4. 创建 Getting Started 项目


通过创建一个 get -started 项目,您可以使用简单的 Quarkus 应用程序启动并运行。您可以使用以下方法之一 创建一个 get-started 项目:

  • 使用 Apache Maven 和 Quarkus Maven 插件
  • 使用 code.quarkus.redhat.com 生成 Quarkus Maven 项目
  • 使用 Quarkus 命令行界面(CLI)

先决条件

流程

  • 根据您的要求,选择您要用来创建 get -started 项目的方法。

1.4.1. 使用 Apache Maven 创建 Getting Started 项目

您可以使用 Apache Maven 和 Quarkus Maven 插件创建一个 get -started 项目。通过此 入门 项目,您可以使用简单的 Quarkus 应用程序启动并运行。

先决条件

流程

  1. 要验证 Maven 是否使用 OpenJDK 17 或 21,Maven 版本是否为 3.8.6 或更高版本,且 mvn 可从 PATH 环境变量访问,请输入以下命令:

    mvn --version
    Copy to Clipboard Toggle word wrap
  2. 如果前面的命令没有返回 OpenJDK 17 或 21,请将到 OpenJDK 17 或 21 的路径添加到 PATH 环境变量中,然后再次输入前面的命令。
  3. 要生成项目,请输入以下命令之一:

    • 如果使用 Linux 或 Apple macOS,请输入以下命令:

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.8.6.SP1-redhat-00002:create \
          -DprojectGroupId=org.acme \
          -DprojectArtifactId=getting-started \
          -DplatformGroupId=com.redhat.quarkus.platform \
          -DplatformVersion=3.8.6.SP1-redhat-00002 \
          -DclassName="org.acme.quickstart.GreetingResource" \
          -Dpath="/hello"
      cd getting-started
      Copy to Clipboard Toggle word wrap
    • 如果使用 Microsoft Windows 命令行,请输入以下命令:

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.8.6.SP1-redhat-00002:create
      -DprojectGroupId=org.acme -DprojectArtifactId=getting-started
      -DplatformGroupId=com.redhat.quarkus.platform
      -DplatformVersion=3.8.6.SP1-redhat-00002
      -DclassName="org.acme.quickstart.GreetingResource"
      -Dpath="/hello"
      Copy to Clipboard Toggle word wrap
    • 如果使用 Microsoft Windows PowerShell,请输入以下命令:

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.8.6.SP1-redhat-00002:create
      "-DprojectGroupId=org.acme"
      "-DprojectArtifactId=getting-started"
      "-DplatformVersion=3.8.6.SP1-redhat-00002"
      "-DplatformGroupId=com.redhat.quarkus.platform"
      "-DclassName=org.acme.quickstart.GreetingResource"
      "-Dpath=/hello"
      Copy to Clipboard Toggle word wrap

      这些命令在 ./get-started 目录中创建以下元素

      • Maven 项目目录结构
      • org.acme.quickstart.GreetingResource 资源在 /hello上公开
      • 用于以原生模式和 JVM 模式测试应用程序的相关单元测试
      • 启动应用程序后,可在 http://localhost:8080 上访问的登录页面
      • src/main/docker 目录中的 Dockerfile 示例
      • 应用程序配置文件

        注意

        因为 Mandrel 不支持 macOS,所以您可以使用 Oracle GraalVM 在此操作系统上构建原生可执行文件。

        您还可以在裸机 Linux 或 Windows 发行版上直接使用 Oracle GraalVM 来构建原生可执行文件。有关此过程的更多信息,请参阅 Oracle GraalVM README 和发行注记。

        有关支持的配置的更多信息,请参阅 Red Hat build of Quarkus 支持的配置

  4. 创建目录结构后,在文本编辑器中打开 pom.xml 文件并检查文件的内容:

    pom.xml

    <project>
      ...
      <properties>
         ...
         <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
         <quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
         <quarkus.platform.version>3.8.6.SP1-redhat-00002</quarkus.platform.version>
         ...
      </properties>
      ...
      <dependencyManagement>
          <dependencies>
            <dependency>
              <groupId>${quarkus.platform.group-id}</groupId>
              <artifactId>${quarkus.platform.artifact-id}</artifactId>
              <version>${quarkus.platform.version}</version>
              <type>pom</type>
              <scope>import</scope>
            </dependency>
          </dependencies>
      </dependencyManagement>
      ...
      <build>
          ...
          <plugins>
            ...
            <plugin>
              <groupId>${quarkus.platform.group-id}</groupId>
              <artifactId>quarkus-maven-plugin</artifactId>
              <version>${quarkus.platform.version}</version>
              <extensions>true</extensions>
              <executions>
                <execution>
                  <goals>
                    <goal>build</goal>
                    <goal>generate-code</goal>
                    <goal>generate-code-tests</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
            ...
          </plugins>
          ...
      </build>
     ...
    </project>
    Copy to Clipboard Toggle word wrap

    pom.xml 文件的 <dependencyManagement > 部分包含 Quarkus BOM。因此,您不需要列出 pom.xml 文件中的单个 Quarkus 依赖项版本。在这个配置文件中,您还可以找到负责打包应用程序的 quarkus-maven-plugin 插件。

  5. 查看 pom.xml 文件中的 quarkus-resteasy-reactive 依赖项。这个依赖项允许您开发 REST 应用程序:

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-resteasy-reactive</artifactId>
    </dependency>
    Copy to Clipboard Toggle word wrap
  6. 查看 src/main/java/org/acme/quickstart/GreetingResource.java 文件:

    import jakarta.ws.rs.GET;
    import jakarta.ws.rs.Path;
    import jakarta.ws.rs.Produces;
    import jakarta.ws.rs.core.MediaType;
    
    @Path("/hello")
    public class GreetingResource {
    
        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String hello() {
            return "Hello from RESTEasy Reactive";
        }
    }
    Copy to Clipboard Toggle word wrap

    此文件包含一个简单的 REST 端点,它将 Hello from RESTEasy Reactive 返回为发送到 /hello 端点的请求。

    注意

    使用 Quarkus 时,支持 Jakarta REST (以前称为 JAX-RS)的应用程序类,但不是必需的。另外,只创建一个 GreetingResource 类的实例,而不是每个请求的一个实例。您可以使用不同的 *Scoped 注解来配置它,如 ApplicationScopedRequestScoped 等等。

作为应用程序开发人员,您可以使用 code.quarkus.redhat.com 生成 Quarkus Maven 项目,并自动添加并配置要在应用程序中使用的扩展。另外,code.quarkus.redhat.com 会自动管理将项目编译为原生可执行文件所需的配置参数。

您可以生成 Quarkus Maven 项目,包括以下活动:

  • 指定应用程序的基本详情
  • 选择您要包含在项目中的扩展
  • 使用项目文件生成可下载归档
  • 使用自定义命令编译和启动应用程序

先决条件

注意

Quarkus CLI 仅用于 dev 模式。红帽不支持在生产环境中使用 Quarkus CLI

流程

  1. 在您的 Web 浏览器中,访问 https://code.quarkus.redhat.com
  2. 指定项目的基本详情:

    1. 输入项目的组名称。name 格式遵循 Java 软件包命名规则,例如 org.acme
    2. 输入项目生成的 Maven 工件的名称,如 code-with-quarkus
    3. 选择您要用来编译和启动应用程序的构建工具。您选择的构建工具决定了以下设置:

      • 生成的项目的目录结构
      • 您生成的项目中使用的配置文件格式
      • 在生成项目后,会显示用于编译和启动 code.quarkus.redhat.com 的自定义构建脚本和命令。

        注意

        红帽仅支持使用 code.quarkus.redhat.com 创建 Quarkus Maven 项目。

  3. 指定应用程序项目的更多详情:

    1. 要显示包含更多应用程序详情的字段,请选择 More options
    2. 输入您要用于项目生成的工件的版本。此字段的默认值为 1.0.0-SNAPSHOT。使用 语义版本 是首选的;但是,您可以选择指定不同类型的版本控制。
    3. 选择是否希望 code.quarkus.redhat.com 将初学者代码添加到项目中。当您添加标记为 "STARTER-CODE" 的扩展时,您可以启用此选项在生成项目时自动为这些扩展创建示例类和资源文件。但是,如果您没有添加提供示例代码的任何扩展,这个选项不会影响生成的项目。

    注意

    code.quarkus.redhat.com 应用程序自动使用最新版本的 Red Hat build of Quarkus。但是,如果需要,可以在生成项目后手动更改为 pom.xml 文件中的较早 BOM 版本,但不建议这样做。

  4. 选择要使用的扩展。Quarkus 应用程序包含您选择为依赖项的扩展。Quarkus 平台还确保这些扩展与将来的版本兼容。

    重要

    不要在同一项目中使用 RESTEasy 和 RESTEasy 主动扩展。

    扩展旁边的 quark 图标( quark )表示扩展是 Red Hat build of Quarkus 平台发行版本的一部分。红帽更喜欢使用同一平台中的扩展,因为它们被一起测试和验证,因此更易于使用和升级。

    您可以启用选项,为标记为"STARTER-CODE"的扩展自动生成初学程序代码。

    Screenshot of the list of extensions at the code.quarkus.redhat.com site that you can add to your project

  5. 要确认您的选择,请选择 Generate your application。显示的对话框显示以下项目:

    • 下载包含您生成的项目的存档的链接
    • 可用于编译和启动应用程序的命令
  6. 要将带有生成的项目文件的存档保存到机器中,请选择 Download the ZIP
  7. 提取存档的内容。
  8. 进入包含您提取的项目文件的目录:

    cd <directory_name>
    Copy to Clipboard Toggle word wrap
  9. 要在 dev 模式中编译并启动应用程序,请使用以下方法之一:

    • 使用 Maven:

      ./mvnw quarkus:dev
      Copy to Clipboard Toggle word wrap
    • 使用 Quarkus CLI:

      quarkus dev
      Copy to Clipboard Toggle word wrap

1.4.2.1. 红帽构建的 Quarkus 扩展的支持等级

红帽为 code.quarkus.redhat.com 上可用的扩展提供了 不同级别的支持,您可以添加到 Quarkus 项目。每个扩展名称旁的标签代表支持级别。

Screenshot of an expanded overflow menu next to one of the extensions on code.quarkus.redhat.coim showing the custom commands that you can copy

注意

红帽不支持在生产环境中使用未标记扩展。

红帽为 Red Hat build of Quarkus 扩展提供以下级别的支持:

Expand
表 1.1. 红帽为 Quarkus 扩展提供支持级别
支持级别描述

支持

红帽完全支持在生产环境中使用企业应用程序的扩展。

TECH-PREVIEW

红帽在 技术预览功能支持范围 下,对生产环境提供有限的支持。

预览

红帽不支持在生产环境中使用扩展。扩展只在 Quarkus 社区版本中提供。

DEV-SUPPORT

红帽不支持在生产环境中使用扩展,但红帽开发人员支持它们在开发新应用程序时提供的核心功能。

弃用

红帽计划将扩展替换为提供相同功能的最新技术或实施。

STARTER-CODE

您可以自动生成扩展示例代码。

点击每个扩展旁的箭头图标(DESTINATION),您可以扩展 overflow 菜单来访问该扩展的进一步操作。例如:

  • 在命令行中使用 Quarkus Maven 插件将扩展添加到现有项目中
  • 复制 XML 片段,将扩展添加到项目的 pom.xml 文件中
  • 获取每个扩展的 groupIdartifactId和版本
  • 打开扩展指南

您可以使用 Quarkus 命令行界面(CLI)创建 get -started 项目。

使用 Quarkus CLI,您可以创建项目、管理扩展并运行构建和开发命令。

重要

Quarkus CLI 仅用于 dev 模式。红帽不支持在生产环境中使用 Quarkus CLI

先决条件

流程

  1. 要生成项目,在命令终端中输入以下命令:

    quarkus create && cd code-with-quarkus
    Copy to Clipboard Toggle word wrap
    注意

    您还可以指定 'app' 子命令,例如 quarkus create app。但是,这不是强制要求,因为如果没有指定 'app' 子命令就意味着它。

    使用此命令,您可以在当前工作目录的名为 'code-with-quarkus' 的文件夹中创建 Quarkus 项目。

  2. 默认情况下,groupIdartifactIdversion 属性使用以下默认值指定:

    • groupId='org.acme'
    • artifactId='code-with-quarkus'
    • version='1.0.0-SNAPSHOT'

      要更改 groupId,artifactId, 和 version 属性的值,请发出 quarkus create 命令并在 CLI 中指定以下语法:

      groupId:artifactId:version

      例如,quarkus create app mygroupId:myartifactid:version

    注意

    要查看所有可用 Quarkus 命令的信息,请指定 help 参数:

    quarkus --help
    Copy to Clipboard Toggle word wrap
  3. 在文本编辑器中查看 src/main/java/org/acme/GreetingResource.java 文件:

    package org.acme;
    
    import jakarta.ws.rs.GET;
    import jakarta.ws.rs.Path;
    import jakarta.ws.rs.Produces;
    import jakarta.ws.rs.core.MediaType;
    
    @Path("/hello")
    public class GreetingResource {
    
        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String hello() {
            return "Hello from RESTEasy Reactive";
        }
    }
    Copy to Clipboard Toggle word wrap

    此文件包含一个简单的 REST 端点,它将 Hello from RESTEasy Reactive 返回为发送到 /hello 端点的请求。

验证

  1. 在 dev 模式中编译并启动您的应用程序。如需更多信息,请参阅 编译和启动 Red Hat build of Quarkus Getting Started 项目
  2. 从 Quarkus CLI 软件包并运行您的 Getting Started 项目。如需更多信息,请参阅打包并运行红帽构建的 Quarkus 入门应用程序
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部