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>
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)
Hier
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!