Maison >Java >javaDidacticiel >Comment indexer des classes dans des modules externes pour Quarkus ?

Comment indexer des classes dans des modules externes pour Quarkus ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-09 10:13:11344parcourir

How to Index Classes in External Modules for Quarkus?

Indexation Quarkus Jandex pour les classes de modules externes

Cette enquête aborde le défi de l'indexation des classes dans un module externe pour Quarkus. Plus précisément, l'utilisateur rencontre un message d'avertissement indiquant que certaines classes ne sont pas incluses dans l'index Jandex, entraînant des problèmes de réflexion. Notre objectif est d'explorer des méthodologies pour ajouter cette dépendance d'indexation à Quarkus.

Quarkus indexe automatiquement le module principal, mais pour les modules supplémentaires contenant des beans, des entités ou des sérialisations JSON, une indexation explicite est requise. Diverses options sont disponibles :

Plugin Jandex Maven

Pour les modules que vous souhaitez indexer, ajoutez ce qui suit au pom.xml :

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

Cette méthode est idéale pour les dépendances externes pour lesquelles vous souhaitez une création d'index unique.

Jandex Plugin Gradle

Dans les environnements Gradle, il existe un plugin tiers pour générer des index Jandex : https://github.com/kordamp/jandex-gradle-plugin.

Empty META-INF/beans.xml

Ajout d'un vide META-INF/beans.xml dans le module supplémentaire src/main/resources déclenchera l'indexation.

Indexation d'autres dépendances

Pour les dépendances que vous ne pouvez pas modifier, ajoutez des entrées à application.properties :

quarkus.index-dependency.<name>.group-id=<group-id>
quarkus.index-dependency.<name>.artifact-id=<artifact-id>
quarkus.index-dependency.<name>.classifier=<classifier> (optional)

Ici, est un identifiant unique pour la dépendance.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn