Heim > Java > javaLernprogramm > Wie indiziere ich Klassen in externen Modulen für Quarkus?

Wie indiziere ich Klassen in externen Modulen für Quarkus?

Barbara Streisand
Freigeben: 2024-12-09 10:13:11
Original
295 Leute haben es durchsucht

How to Index Classes in External Modules for Quarkus?

Quarkus Jandex-Indizierung für externe Modulklassen

Diese Untersuchung befasst sich mit der Herausforderung der Indizierung von Klassen in einem externen Modul für Quarkus. Insbesondere erhält der Benutzer eine Warnmeldung, die darauf hinweist, dass bestimmte Klassen nicht im Jandex-Index enthalten sind, was zu Reflexionsproblemen führt. Unser Ziel ist es, Methoden zum Hinzufügen dieser Indexierungsabhängigkeit zu Quarkus zu erkunden.

Quarkus indiziert automatisch das Primärmodul, aber für zusätzliche Module, die Beans, Entitäten oder JSON-Serialisierungen enthalten, ist eine explizite Indizierung erforderlich. Es stehen verschiedene Optionen zur Verfügung:

Jandex Maven Plugin

Fügen Sie für Module, die Sie indizieren möchten, Folgendes zur pom.xml hinzu:

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

Diese Methode ist ideal für externe Abhängigkeiten, bei denen Sie einen einmaligen Indexaufbau wünschen.

Jandex Gradle Plugin

In Gradle-Umgebungen gibt es ein Drittanbieter-Plugin zum Generieren von Jandex-Indizes: https://github.com/kordamp/jandex-gradle-plugin.

Leere META-INF/beans.xml

Hinzufügen einer leeren META-INF/beans.xml Datei in src/main/resources des zusätzlichen Moduls löst die Indizierung aus.

Indizieren anderer Abhängigkeiten

Für Abhängigkeiten, die Sie nicht ändern können, fügen Sie Einträge zu application.properties hinzu:

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

Hier ist eine eindeutige Kennung für die Abhängigkeit.

Das obige ist der detaillierte Inhalt vonWie indiziere ich Klassen in externen Modulen für Quarkus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage