1.3. YAML 設定サポートの追加


Red Hat build of Quarkus は、Eclipse MicroProfile Config の SmallRye Config 実装により YAML 設定ファイルをサポートします。Quarkus Config YAML エクステンションを追加し、設定のプロパティーファイルで YAML 設定ファイルを使用できます。Quarkus は、application.yml および application.yaml を YAML ファイルの名前として使用することをサポートします。

YAML 設定ファイルは、application.properties ファイルよりも優先されます。エラーを回避するには、application.properties ファイルを削除し、1 種類の設定ファイルのみを使用できます。

手順

  1. 以下の方法のいずれかを使用して、プロジェクトに YAML エクステンションを追加します。

    • pom.xml ファイルを開き、quarkus-config-yaml エクステンションを依存関係として追加します。

      pom.xml ファイルの例

      Copy to Clipboard Toggle word wrap
      <dependency>
          <groupId>io.quarkus</groupId>
          <artifactId>quarkus-config-yaml</artifactId>
      </dependency>

    • コマンドラインから quarkus-config-yaml エクステンションを追加するには、プロジェクトディレクトリーから以下のコマンドを入力します。

      quarkus-config-yaml エクステンションの追加

      Copy to Clipboard Toggle word wrap
      ./mvnw quarkus:add-extension -Dextensions="quarkus-config-yaml"

1.3.1. YAML を使用したネストされたオブジェクト設定の使用

application.yaml 設定ファイルを使用して、Red Hat build of Quarkus アプリケーションの既存の設定プロパティー内でネストされた設定プロパティーを定義できます。

前提条件

  • Quarkus Maven プロジェクトがある。
  • PostgreSQL データソースがある。
  • プロジェクトの pom.xml ファイルの依存関係として、以下のエクステンションがある。

    • quarkus-resteasy-client
    • quarkus-jdbc-postgresql
    • quarkus-config-yaml

手順

  1. src/main/resources/application.yaml 設定ファイルを開きます。
  2. 以下の例のように、ネストされたクラス設定プロパティーを application.yaml ファイルに追加します。

    application.yaml ファイルの例

    Copy to Clipboard Toggle word wrap
    # Properties that configure the JDBC data source driver of your PostgreSQL data source
    quarkus:
      datasource:
        db-kind: postgresql
        jdbc:
          url: jdbc:postgresql://localhost:5432/quarkus_test
        username: quarkus_test
        password: quarkus_test
    
    # Property that configures the URL of the endpoint to which the REST client sends requests
    quarkus:
      rest-client:
        org.acme.rest.client.ExtensionsService:
          url: https://stage.code.quarkus.io/api
    
    # Property that configures the log message level for your application
    # For configuration property names that use quotes, do not split the string inside the quotes
    quarkus:
      log:
        category:
          "io.quarkus.category":
            level: INFO

    警告

    実稼働環境の場合は、前述の例のように、設定ファイルにユーザー名とパスワードを設定しないでください。これは、説明のみを目的としています。代わりに、環境変数で設定します。詳細は、「プロパティーファイルを使用した Red Hat build of Quarkus アプリケーションの設定」ガイドの 設定プロパティーの設定 セクションを参照してください。

    application.properties ファイルと同様に、コメントを使用して設定プロパティーを YAML 形式で記述できます。

    注記

    YAML 設定ファイル内のプロパティーをインデントするには、常にスペースを使用してください。YAML は、インデントへのタブの使用をサポートしていません。

1.3.2. YAML を使用したカスタム設定プロファイルの設定

Quarkus を使用すると、アプリケーションのさまざまな設定プロファイルに固有の設定プロパティーと値を設定できます。特定のプロファイルを使用してアプリケーションを起動し、特定の設定にアクセスできます。この手順では、YAML 形式で特定のプロファイルの設定を提供する方法を示します。

前提条件

  • JDBC データソースドライバーで PostgreSQL データソースを使用するように設定された Quarkus Maven プロジェクトがある。
  • プロジェクトの pom.xml ファイルに、依存関係として quarkus-jdbc-postgresql および quarkus-config-yaml エクステンションが追加されている。

手順

  1. プロジェクトの設定ファイル src/main/resources/application.yaml を開きます。
  2. プロファイル依存設定を設定するには、"%<profile_name>" 構文を使用してキーと値のペアを定義する前にプロファイル名を追加します。プロファイル名は必ず引用符で囲んでください。

    ヒント

    YAML では、特殊文字で始まるすべての文字列を引用符で囲む必要があります。

    次の例では、Quarkus アプリケーションを開発モードで起動すると、PostgreSQL データベースが jdbc:postgresql://localhost:5432/quarkus_test URL で使用できるように設定されています。

    src/main/resources/application.yaml

    Copy to Clipboard Toggle word wrap
    "%dev":
      quarkus:
        datasource:
          db-kind: postgresql
            jdbc:
              url: jdbc:postgresql://localhost:5432/quarkus_test
            username: quarkus_test
            password: quarkus_test

    警告

    実稼働環境の場合は、前述の例のように、設定ファイルにユーザー名とパスワードを設定しないでください。これは、説明のみを目的としています。代わりに、環境変数で設定します。詳細は、「プロパティーファイルを使用した Red Hat build of Quarkus アプリケーションの設定」ガイドの 設定プロパティーの設定 セクションを参照してください。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.