Wenn Sie Klassen aus externen Modulen in Ihre Quarkus-Anwendung integrieren, Möglicherweise wird eine Warnung angezeigt, die besagt, dass die Klassen nicht im Jandex-Index registriert sind. Diese Warnung kann auftreten, wenn das externe Modul CDI-Beans oder Entitäten enthält, die von Quarkus indiziert werden müssen.
Quarkus verwendet den Jandex-Index um den Reflexionsprozess zu optimieren und die Leistung zu steigern. Durch die Indizierung von Klassen kann Quarkus das Vorhandensein von Annotationen wie @Entity oder @ApplicationScoped erkennen und nutzen, ohne eine teure Laufzeitreflexion durchführen zu müssen.
Um die Warnung zu beheben und eine ordnungsgemäße Indizierung externer Modulklassen sicherzustellen, haben Sie mehrere Möglichkeiten:
Installieren Sie für Maven-basierte Projekte das Jandex Maven-Plugin in der pom.xml des externen Moduls. Dieses Plugin generiert während des Erstellungsprozesses einen Jandex-Index und stellt so sicher, dass die erforderlichen Klassen enthalten sind.
</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"><build> <plugins> <plugin> <groupId>io.smallrye</groupId> <artifactId>jandex-maven-plugin</artifactId> <executions> <execution> <goals> <goal>jandex</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
Das Hinzufügen einer leeren META-INF/beans.xml-Datei im externen Modul löst auch die Indizierung durch Quarkus selbst aus.
Wenn eine Änderung des externen Moduls nicht möglich ist, können Sie Indexabhängigkeiten in Ihren application.properties wie folgt definieren:
<br>quarkus. index-dependency.<name>.group-id=<br>quarkus.index-dependency.<name>.artifact-id=<br>quarkus.index-dependency.<name>.classifier=(optional) <br>
Ersetzen Sie
Das obige ist der detaillierte Inhalt vonWie kann die Jandex-Indizierungswarnung für externe Modulklassen in Quarkus behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!