1.4. Getting Started プロジェクトの作成


getting-started プロジェクトを作成すると、単純な Quarkus アプリケーションを起動して実行できます。getting-started プロジェクトは、次のいずれかの方法で作成できます。

  • Apache Maven と Quarkus Maven プラグインを使用する
  • code.quarkus.redhat.com を使用して Quarkus Maven プロジェクトを生成する
  • Quarkus コマンドラインインターフェイス (CLI) を使用する

前提条件

  • 環境の準備が完了している。詳細は、環境の準備 を参照してください。

手順

  • 要件に応じて、getting-started プロジェクトの作成に使用する方法を選択します。

1.4.1. Apache Maven を使用して Getting Started プロジェクトを作成する

Apache Maven と Quarkus Maven プラグインを使用して、getting-started プロジェクトを作成できます。この getting-started プロジェクトを使用して、単純な Quarkus アプリケーションを起動して実行できます。

前提条件

手順

  1. 次のコマンドを入力して、Maven が OpenJDK 11 または 17 を使用していること、Maven バージョンが 3.8.6 以降であること、および mvn が PATH 環境変数からアクセスできることを確認します。

    mvn --version
    Copy to Clipboard Toggle word wrap
  2. 前のコマンドで OpenJDK 11 または 17 が返されない場合は、OpenJDK 11 または 17 へのパスを PATH 環境変数に追加し、前のコマンドを再度入力します。
  3. プロジェクトをビルドするには、以下のコマンドのいずれか 1 つを実行します。

    • Linux または Apple macOS を使用している場合は、以下のコマンドを入力します。

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:3.2.12.SP1-redhat-00003:create \
          -DprojectGroupId=org.acme \
          -DprojectArtifactId=getting-started \
          -DplatformGroupId=com.redhat.quarkus.platform \
          -DplatformVersion=3.2.12.SP1-redhat-00003 \
          -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.2.12.SP1-redhat-00003:create
      -DprojectGroupId=org.acme -DprojectArtifactId=getting-started
      -DplatformGroupId=com.redhat.quarkus.platform
      -DplatformVersion=3.2.12.SP1-redhat-00003
      -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.2.12.SP1-redhat-00003:create
      "-DprojectGroupId=org.acme"
      "-DprojectArtifactId=getting-started"
      "-DplatformVersion=3.2.12.SP1-redhat-00003"
      "-DplatformGroupId=com.redhat.quarkus.platform"
      "-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
      • アプリケーションの設定ファイル

        注記

        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.2.12.SP1-redhat-00003</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

    このファイルには、/hello エンドポイントに送信したリクエストに対するレスポンスとして、Hello from RESTEasy Reactive を返す単純な REST エンドポイントが含まれています。

    注記

    Quarkus では、Jakarta REST (旧名 JAX-RS) の Application クラスがサポートされていますが、必須ではありません。さらに、リクエストごとに 1 つのインスタンスが作成されるのではなく、GreetingResource クラスのインスタンスが 1 つだけ作成されます。これは、別の *Scoped アノテーション (例: ApplicationScopedRequestScoped など) を使用して設定できます。

1.4.2. code.quarkus.redhat.com を使用して Getting Started プロジェクトを作成する

アプリケーション開発者は、code.quarkus.redhat.com を使用して Quarkus Maven プロジェクトを生成し、アプリケーションで使用するエクステンションを自動的に追加および設定できます。さらに、code.quarkus.redhat.com は、プロジェクトをネイティブ実行可能ファイルにコンパイルするために必要な設定パラメーターを自動的に管理します。

次のアクティビティーを含む Quarkus Maven プロジェクトを生成できます。

  • アプリケーションの基本情報の指定
  • プロジェクトに追加するエクステンションの選択
  • プロジェクトファイルのダウンロード可能なアーカイブの生成
  • アプリケーションをコンパイルおよび起動するカスタムコマンドの使用

前提条件

  • Web ブラウザーがある。
  • Apache Maven を使用するための環境を準備している。詳細は、環境の準備 を参照してください。
  • Quarkus Maven リポジトリーを設定している。Maven を使用して Quarkus アプリケーションを作成するには、Red Hat がホストする Quarkus リポジトリーを使用します。詳細は、オンラインリポジトリーの Maven settings.xml ファイルを設定する を参照してください。
  • オプション: 開発モードで Quarkus を起動するために使用できる方法の 1 つである Quarkus コマンドラインインターフェイス (CLI) がインストールされている。

    詳細は、Quarkus CLI のインストール を参照してください。

注記

Quarkus CLI は開発モードのみを対象としています。Red Hat は、実稼働環境での Quarkus CLI の使用をサポートしていません。

手順

  1. Web ブラウザーで、https://code.quarkus.redhat.com に移動します。
  2. プロジェクトの基本情報を指定します。

    1. プロジェクトのグループ名を入力します。名前の形式は、Java パッケージ命名規則に従います (例: org.acme)。
    2. プロジェクトが生成した Maven アーティファクトの名前を入力します (例: code-with-quarkus)。
    3. アプリケーションのコンパイルおよび起動に使用するビルドツールを選択します。選択したビルドツールにより、次の設定が決まります。

      • 生成されたプロジェクトのディレクトリー構造。
      • 生成したプロジェクトで使用される設定ファイルのフォーマット
      • プロジェクトの生成後に code.quarkus.redhat.com に表示される、アプリケーションのコンパイルと起動のためのカスタムビルドスクリプトおよびコマンド

        注記

        Red Hat は、Quarkus Maven プロジェクトを作成する場合にのみ code.quarkus.redhat.com の使用をサポートします。

  3. アプリケーションプロジェクトに関する追加情報を指定します。

    1. アプリケーションの詳細を含むフィールドを表示するには、More options を選択します。
    2. プロジェクトによって生成されたアーティファクトに使用するバージョンを入力します。このフィールドのデフォルト値は 1.0.0-SNAPSHOT です。semantic versioning の使用が推奨されます。ただし、別のタイプのバージョン管理を指定することもできます。
    3. code.quarkus.redhat.com がスターターコードをプロジェクトに追加するかどうかを選択します。"STARTER-CODE" でマークされたエクステンションをプロジェクトに追加する場合、このオプションを有効にして、プロジェクト生成時にそのエクステンションのサンプルクラスとリソースファイルを自動的に作成できます。ただし、サンプルコードを提供するエクステンションを追加しない場合、このオプションは生成されたプロジェクトには影響しません。

    注記

    code.quarkus.redhat.com アプリケーションは、自動的に Red Hat build of Quarkus の最新リリースを使用します。ただし、必要に応じて、プロジェクト生成後に pom.xml ファイル内の以前の BOM バージョンに手動で変更することもできますが、これは推奨されません。

  4. 使用するエクステンションを選択します。選択したエクステンションは、Quarkus アプリケーションの依存関係として格納されます。Quarkus プラットフォームにより、これらのエクステンションは今後のバージョンとの互換性も確保されます。

    重要

    RESTEasy エクステンションと RESTEasy Reactive エクステンションは、同じプロジェクト内で使用しないでください。

    エクステンションの横にある quark アイコン ( quark ) は、そのエクステンションが Red Hat build of Quarkus プラットフォームリリースの一部であることを示します。Red Hat は、同じプラットフォームのエクステンションを使用することを推奨します。これは、エクステンションは一緒にテストおよび検証され、使用とアップグレードが容易になるためです。

    "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. 開発モードでアプリケーションをコンパイルして起動するには、次のいずれかの方法を使用します。

    • Maven の使用:

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

      quarkus dev
      Copy to Clipboard Toggle word wrap

1.4.2.1. Red Hat build of Quarkus エクステンションのサポートレベル

Red Hat は、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 は、ラベルのないエクステンションの実稼働環境での使用はサポートしません。

Red Hat は、Quarkus エクステンションに対して次のレベルのサポートを提供します。

Expand
表1.1 Red Hat build of Quarkus のエクステンションに対して Red Hat が提供するサポートレベル
サポートレベル説明

SUPPORTED

Red Hat は、実稼働環境のエンタープライズアプリケーションにおけるエクステンションの使用に対し、フルサポートを提供します。

TECH-PREVIEW

Red Hat は、テクノロジープレビュー機能のサポート範囲 に基づき、実稼働環境におけるエクステンションの使用に対して限定的なサポートを提供します。

DEV-SUPPORT

Red Hat は、実稼働環境におけるエクステンションの使用をサポートしませんが、Red Hat 開発者が新規アプリケーションの開発で使用するために提供するコア機能をサポートします。

DEPRECATED

Red Hat は、エクステンションを同じ機能を提供する最新のテクノロジーまたは実装に置き換える予定です。

STARTER-CODE

エクステンションのサンプルコードを自動生成できます。

各エクステンションの横にある矢印アイコン (⌄) をクリックすると、オーバーフローメニューを展開して、そのエクステンションの他のアクションにアクセスできます。以下に例を示します。

  • コマンドラインで Quarkus Maven プラグインを使用して、既存のプロジェクトにエクステンションを追加します。
  • プロジェクトの pom.xml ファイルにエクステンションを追加するために、XML の抜粋をコピーします。
  • 各エクステンションの groupIdartifactIdversion を取得します。
  • エクステンションガイドを開きます。

1.4.3. Red Hat build of Quarkus CLI を使用して Getting Started プロジェクトを作成する

Quarkus コマンドラインインターフェイス (CLI) を使用して、getting-started プロジェクトを作成できます。

Quarkus CLI を使用して、プロジェクトの作成、エクステンションの管理、ビルドおよび開発コマンドの実行を行えます。

重要

Quarkus CLI は開発モードのみを対象としています。Red Hat は、実稼働環境での Quarkus CLI の使用をサポートしていません。

前提条件

手順

  1. プロジェクトを生成するには、コマンドターミナルで次のコマンドを入力します。

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

    'app' サブコマンド (例: quarkus create app) を指定することもできます。ただし、'app' サブコマンドが指定されていない場合は暗黙的に指定されるため、必須ではありません。

    このコマンドを使用すると、Quarkus プロジェクトが現在の作業ディレクトリーの 'code-with-quarkus' というフォルダーに作成されます。

  2. デフォルトでは、groupId 属性、artifactId 属性、version 属性は次のデフォルト値に指定されます。

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

      groupIdartifactId、および 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

    このファイルには、/hello エンドポイントに送信したリクエストに対するレスポンスとして、Hello from RESTEasy Reactive を返す単純な REST エンドポイントが含まれています。

検証

  1. 開発モードで、アプリケーションのコンパイルと起動を行います。詳細は、Red Hat build of Quarkus Getting Started プロジェクトのコンパイルと起動 を参照してください。
  2. Quarkus CLI から Getting Started プロジェクトをパッケージ化して実行します。詳細は、Red Hat build of Quarkus Getting Started アプリケーションのパッケージ化と実行 を参照してください。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat