第 3 章 创建 Getting Started 项目


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

流程

  1. 在命令终端中,输入以下命令验证 Maven 是否使用 JDK 11,并且 Maven 版本是否为 3.6.2 或更高版本:

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

    注意

    不支持 Apple macOS 和 Microsoft Windows。

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

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

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

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

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

      • Maven 项目目录结构
      • /hello上公开的 org.acme.quickstart.GreetingResource 资源
      • 在原生模式和 JVM 模式中测试应用程序的相关单元测试
      • 启动应用程序后可在 http://localhost:8080 上访问登录页面
      • src/main/docker 目录中的 Dockerfile.jvmDockerfile.nativeDockerfile.fast-jar 文件示例
      • 应用程序配置文件
  4. 创建目录结构后,在文本编辑器中打开 pom.xml 文件并检查文件的内容:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.redhat.quarkus</groupId>
                <artifactId>quarkus-universe-bom</artifactId>
                <version>${quarkus.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    
    <build>
      <plugins>
        <plugin>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-maven-plugin</artifactId>
          <version>${quarkus-plugin.version}</version>
          <executions>
            <execution>
              <goals>
                <goal>build</goal>
                <goal>generate-code</goal>
                <goal>generate-code-tests</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
     </plugins>
    </build>
    Copy to Clipboard Toggle word wrap

    Quarkus BOM 包含在 pom.xml 文件的 &lt ;dependencyManagement > 部分。因此,您不需要在 pom.xml 文件中列出单个 Quarkus 依赖项的版本。此外,您可以看到 quarkus-maven-plugin 插件,该插件负责打包应用程序并提供开发模式。

  5. 查看 pom.xml 文件中的 quarkus-resteasy 依赖项。通过这个依赖项,您可以开发 REST 应用程序:

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

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

    此文件包含一个简单的 REST 端点,它将 hello 作为您发送到 /hello 端点的请求的响应。

    注意

    使用 Quarkus 时,支持 JAX-RS 的应用程序类,但不是必需的。另外,只创建一个 GreetingResource 类的实例,且每个请求不创建一个实例。您可以使用不同的 sVirt Scoped 注解进行配置,如 ApplicationScopedRequestScoped 等等。

您可以使用 code.quarkus.redhat.com 项目生成器创建 Quarkus Maven 项目。详情请参阅使用 code.quarkus.redhat.com 创建 Quarkus Maven 项目

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部