將外部模組中的類別整合到Quarkus 應用程式中時,您可能會遇到一條警告,指出這些類別未在Jandex 索引中註冊。當外部模組包含需要由 Quarkus 索引的 CDI beans 或實體時,可能會出現此警告。
Quarkus 使用 Jandex 索引優化反射過程並提高效能。透過索引類,Quarkus 可以偵測並利用註解的存在,例如 @Entity 或 @ApplicationScoped,而無需執行昂貴的執行時間反射。
要解決警告並確保外部模組類別的正確索引,您有多種選擇:
對於基於 Maven 的項目,將 Jandex Maven 插件安裝到外部模組的 pom.xml 中。該插件將在建置過程中產生 Jandex 索引,確保包含必要的類別。
<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>
在外部模組中加入空 META-INF/beans.xml 檔案也會觸發 Quarkus 本身的索引。
如果修改外部模組不可行,您可以在application.properties中定義索引依賴,如下所示:
quarkus。 index-dependency..group-id=
quarkus.index-dependency..artifact-id=
quarkus.index-dependency..classifier=(可選)
替換帶有依賴項的識別碼。這種方法允許您索引外部依賴項,而無需對其進行任何修改。
以上是如何解決 Quarkus 中外部模組類別的 Jandex 索引警告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!