Heim > Java > javaLernprogramm > Wie kann man Jandex-Indizierungsprobleme für externe Modulklassen in Quarkus lösen?

Wie kann man Jandex-Indizierungsprobleme für externe Modulklassen in Quarkus lösen?

Mary-Kate Olsen
Freigeben: 2024-11-13 04:35:02
Original
1003 Leute haben es durchsucht

How to Resolve Jandex Indexing Issues for External Module Classes in Quarkus?

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

  • Fügen Sie das Jandex Maven Plugin zur pom.xml des Moduls hinzu, das die zu indizierenden Klassen enthält.
  • 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>
    Nach dem Login kopieren

    Option 2: Jandex Gradle Plugin (nur Gradle)

  • Verwenden Sie den dritten- Party Jandex Gradle-Plugin, um den Index zu generieren.
  • Konfigurieren Sie das Plugin in Ihrem Gradle-Skript gemäß den GitHub-Repository-Richtlinien.

Option 3: META-INF/Beans leeren .xml

  • Erstellen Sie eine leere META-INF/beans.xml-Datei im Verzeichnis src/main/resources des externen Moduls.
  • Quarkus indiziert die Module automatisch Klassen.

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)
    Nach dem Login kopieren
  • Ersetzen Sie mit einem Bezeichner Ihrer Wahl für die Abhängigkeit.

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!

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