検索

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

download PDF

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 アプリケーションを起動して実行できます。

前提条件

  • Apache Maven を使用するための環境を準備している。詳細は、環境の準備 を 参照してください。
  • Quarkus Maven リポジトリーを設定している。Maven を使用して Quarkus アプリケーションを作成するには、Red Hat がホストする Quarkus リポジトリーを使用するか、Quarkus Maven リポジトリーをダウンロードして設定できます。

手順

  1. Maven が OpenJDK 11 または 17 を使用していることを確認するには、Maven のバージョンが 3.8.x (x は 6 以降)で、mvn が PATH 環境変数からアクセスできることを確認するには、以下のコマンドを入力します。

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

    注記

    Apple macOS および Microsoft Windows は開発者環境としてサポートされますが、実稼働環境ではサポートされません。

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

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:2.13.9.SP2-redhat-00003:create \
          -DprojectGroupId=org.acme \
          -DprojectArtifactId=getting-started \
          -DplatformGroupId=com.redhat.quarkus.platform \
          -DplatformVersion=2.13.9.SP2-redhat-00003 \
          -DclassName="org.acme.quickstart.GreetingResource" \
          -Dpath="/hello"
      cd getting-started
    • Microsoft Windows のコマンドラインを使用している場合は、以下のコマンドを入力します。

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:2.13.9.SP2-redhat-00003:create
      -DprojectGroupId=org.acme -DprojectArtifactId=getting-started
      -DplatformGroupId=com.redhat.quarkus.platform
      -DplatformVersion=2.13.9.SP2-redhat-00003
      -DclassName="org.acme.quickstart.GreetingResource"
      -Dpath="/hello"
    • Microsoft Windows Powershell を使用している場合は、以下のコマンドを入力します。

      mvn com.redhat.quarkus.platform:quarkus-maven-plugin:2.13.9.SP2-redhat-00003:create
      "-DprojectGroupId=org.acme"
      "-DprojectArtifactId=getting-started"
      "-DplatformVersion=2.13.9.SP2-redhat-00003"
      "-DplatformGroupId=com.redhat.quarkus.platform"
      "-DclassName=org.acme.quickstart.GreetingResource"
      "-Dpath=/hello"

      これらのコマンドにより、./getting-started ディレクトリーに以下の要素が作成されます。

      • Maven プロジェクトディレクトリー構造
      • /hello で公開される org.acme.quickstart.GreetingResource リソース
      • ネイティブモードおよび JVM モードでアプリケーションをテストするための関連するユニットテスト
      • アプリケーションの起動後に http://localhost:8080 でアクセス可能なランディングページ
      • src/main/docker ディレクトリー内のサンプル Dockerfile
      • アプリケーションの設定ファイル
  4. ディレクトリー構造が作成されたら、テキストエディターで pom.xml ファイルを開き、ファイルの内容を確認します。

    pom.xml

    <project>
      ...
      <properties>
         ...
         <quarkus.platform.group-id>com.redhat.quarkus.platform</quarkus.platform.group-id>
         <quarkus.platform.artifact-id>quarkus-bom</quarkus.platform.artifact-id>
         <quarkus.platform.version>2.13.9.SP2-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>

    pom.xml ファイルの <dependencyManagement> セクションには、Quarkus BOM が格納されています。そのため、pom.xml ファイルに個別の Quarkus 依存関係のバージョンを記述する必要はありません。pom.xml ファイルでは、アプリケーションのパッケージ化を行う quarkus-maven-plugin プラグインを見つけることもできます。

  5. pom.xml ファイル内の quarkus-resteasy-reactive 依存関係を確認します。この依存関係により、REST アプリケーションを開発できます。

    <dependency>
        <groupId>io.quarkus</groupId>
        <artifactId>quarkus-resteasy-reactive</artifactId>
    </dependency>
  6. src/main/java/org/acme/quickstart/GreetingResource.java ファイルを確認します。

    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;
    {CompanyName}
    @Path("/hello")
    public class GreetingResource {
    
        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String hello() {
            return "Hello from RESTEasy Reactive";
        }
    }

    このファイルには、/hello エンドポイントに送信するリクエストへの応答として hello を返す単純な REST エンドポイントが含まれます。

    注記

    Quarkus では、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 リポジトリーを設定している。Red Hat がホストする Quarkus リポジトリーを使用するか、Quarkus Maven リポジトリーをダウンロードして設定して、Maven で Quarkus アプリケーションを作成できます。

  • オプション: Quarkus コマンドラインインターフェイス(CLI)をインストールしている。これは、開発モードで Quarkus を開始するために使用できる方法の 1 つです。

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

注記

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

手順

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

    code.quarkus.redhat.com サイトの基本アプリケーションの詳細セクションのスクリーンショット
    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 がスターターコードをプロジェクトに追加するかどうかを選択します。CODEでマークされたエクステンションをプロジェクトに追加する場合、このオプションを有効にして、プロジェクトの生成時にこれらのエクステンションのクラスおよびリソースファイルのサンプルを自動的に作成できます。ただし、サンプルコードを提供するエクステンションを追加しない場合、このオプションは生成されたプロジェクトには影響しません。

      code.quarkus.redhat.com サイトのアプリケーションの詳細セクションのスクリーンショット。追加のアプリケーションの詳細を含む拡張フォームが表示されています。
    注記

    code.quarkus.redhat.com リポジトリーは、Red Hat ビルドの 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>
  9. 開発モードでアプリケーションをコンパイルおよび起動するには、以下のいずれかの方法を使用します。

    • Maven の使用:

      ./mvnw quarkus:dev
    • Quarkus CLI を使用する:

      quarkus dev

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

Quarkus は、Quarkus エクステンション向けに Quarkus によって提供される .Support レベル のサポートを提供します。

サポートレベル説明

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. Quarkus CLI を使用した Getting Started プロジェクトの作成

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

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

重要

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

前提条件

手順

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

    quarkus create && cd code-with-quarkus
    注記

    '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
  3. テキストエディターで src/main/java/org/acme/GreetingResource.java ファイルを確認します。

    package org.acme;
    
    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 from RESTEasy Reactive";
        }
    }

    このファイルには、/hello エンドポイントに送信するリクエストへの応答として hello を返す単純な REST エンドポイントが含まれます。

検証

  1. 開発モードでアプリケーションをコンパイルして起動します。
  2. Quarkus CLI から Getting Started プロジェクトをパッケージ化して実行します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.