Jandex-Indexierung für externe Modulklassen in Quarkus
Hintergrund
In einem Multimodul In der Maven-Projektstruktur ist es üblich, dass JAX-RS-Endpunkte in einem Modul auf Klassen zurückgreifen, die in einem externen Modul definiert sind. Quarkus gibt jedoch möglicherweise eine Warnung aus, die darauf hinweist, dass diese Klassen nicht zur Reflexion indiziert werden können.
Lösung
Um dieses Problem zu beheben und eine ordnungsgemäße Indizierung sicherzustellen:
Option 1: Jandex Maven Plugin
Dadurch wird ein Ziel ausgeführt, das den erforderlichen Jandex-Index generiert.
<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>
Option 2: Jandex Gradle Plugin (nur Gradle)
Option 3: META-INF/Beans leeren .xml
Option 4: Quarkus-Anwendungseigenschaften
Für externe Abhängigkeiten, die nicht geändert werden können, können Sie sie manuell durch Hinzufügen indizieren Einträge in Ihrer application.properties-Datei:
quarkus.index-dependency.<name>.group-id= quarkus.index-dependency.<name>.artifact-id= quarkus.index-dependency.<name>.classifier=(optional)
Durch die Implementierung einer dieser Optionen können Sie sicherstellen, dass die erforderlichen Klassen ordnungsgemäß indiziert sind und Reflektion sie erfolgreich bearbeiten kann.
Das obige ist der detaillierte Inhalt vonWie kann man Jandex-Indizierungsprobleme für externe Modulklassen in Quarkus lösen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!