Apabila menyepadukan kelas daripada modul luaran ke dalam aplikasi Quarkus anda, anda mungkin menghadapi amaran yang menyatakan bahawa kelas tidak didaftarkan dalam indeks Jandex. Amaran ini boleh timbul apabila modul luaran mengandungi kacang CDI atau entiti yang perlu diindeks oleh Quarkus.
Quarkus menggunakan indeks Jandex untuk mengoptimumkan proses refleksi dan meningkatkan prestasi. Dengan mengindeks kelas, Quarkus boleh mengesan dan menggunakan kehadiran anotasi, seperti @Entity atau @ApplicationScoped, tanpa perlu melakukan refleksi masa jalan yang mahal.
Untuk menyelesaikan amaran dan memastikan pengindeksan kelas modul luaran yang betul, anda mempunyai beberapa pilihan:
Untuk projek berasaskan Maven, pasang pemalam Jandex Maven ke dalam pom.xml modul luaran. Pemalam ini akan menjana indeks Jandex semasa proses binaan, memastikan kelas yang diperlukan disertakan.
<build> <plugins> <plugin> <groupId>io.smallrye</groupId> <artifactId>jandex-maven-plugin</artifactId> <executions> <execution> <goals> <goal>jandex</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
Menambah fail META-INF/beans.xml kosong dalam modul luaran juga akan mencetuskan pengindeksan oleh Quarkus sendiri.
Jika mengubah suai modul luaran tidak dapat dilaksanakan, anda boleh menentukan kebergantungan indeks dalam application.properties anda sebagai berikut:
<br>quarkus.index-dependency.<name>.group-id=<br>quarkus.index-dependency.<na me>.artifact-id=<br>quarkus.index-dependency.<name>.classifier=(pilihan)<br>
Ganti
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan amaran pengindeksan Jandex untuk kelas modul luaran di Quarkus?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!