ホームページ >Java >&#&チュートリアル >Quarkus の外部モジュール クラスの Jandex インデックス作成の問題を解決するにはどうすればよいですか?

Quarkus の外部モジュール クラスの Jandex インデックス作成の問題を解決するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-13 04:35:02968ブラウズ

How to Resolve Jandex Indexing Issues for External Module Classes in Quarkus?

Quarkus の外部モジュール クラスの Jandex インデックス付け

背景

マルチモジュール内Maven プロジェクト構造。1 つのモジュール内の JAX-RS エンドポイントに共通です外部モジュールで定義されたクラスに依存します。ただし、Quarkus は、リフレクション用にこれらのクラスのインデックスを作成できないことを示す警告を発行する場合があります。

解決策

この問題を解決し、適切なインデックスを作成するには:

オプション 1: Jandex Mavenプラグイン

  • インデックス付けされるクラスを含むモジュールの pom.xml に Jandex Maven プラグインを追加します。
  • これにより、必要なデータを生成するゴールが実行されます。 Jandex インデックス。

          <plugin>
            <groupId>io.smallrye</groupId>
            <artifactId>jandex-maven-plugin</artifactId>
            <version>3.1.2</version>
            <executions>
              <execution>
                <id>make-index</id>
                <goals>
                  <goal>jandex</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

    オプション 2: Jandex Gradle プラグイン (Gradle のみ)

  • サードパーティの Jandex Gradle プラグインを利用してインデックスを生成します。
  • GitHub リポジトリ ガイドラインに従って Gradle スクリプトでプラグインを構成します.

オプション 3:空の META-INF/beans.xml

  • 外部モジュールの src/main/resources ディレクトリに空の META-INF/beans.xml ファイルを作成します。
  • Quarkus はモジュールのインデックスを自動的に作成します。

オプション 4: Quarkus アプリケーション プロパティ

  • 変更できない外部依存関係については、追加することで手動でインデックスを付けることができます。 application.properties へのエントリfile:

    quarkus.index-dependency.<name>.group-id=
    quarkus.index-dependency.<name>.artifact-id=
    quarkus.index-dependency.<name>.classifier=(optional)
  • を置き換えます。

これらのオプションのいずれかを実装すると、必要なクラスのインデックスが適切に作成され、それらのクラスに対してリフレクションが正常に動作できるようになります。

以上がQuarkus の外部モジュール クラスの Jandex インデックス作成の問題を解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。