7.5. 注册类以进行反映
默认情况下,原生模式不提供动态反映。需要反映访问的类,必须在编译时进行反映。
在很多情况下,应用程序开发人员不需要关注,因为 Quarkus 扩展可以检测需要反映并自动注册的类。
然而,在某些情况下,Quarkus 扩展可能会丢失一些类,并受应用程序开发人员注册它们。有两种方法可以做到这一点:
@io.quarkus.runtime.annotations.RegisterForReflection注释可用于注册所使用的类,或者通过targets属性注册第三方类。Copy to Clipboard Copied! Toggle word wrap Toggle overflow application.properties中的quarkus.camel.native.reflection选项:quarkus.camel.native.reflection.include-patterns = org.apache.commons.lang3.tuple.* quarkus.camel.native.reflection.exclude-patterns = org.apache.commons.lang3.tuple.*Triple
quarkus.camel.native.reflection.include-patterns = org.apache.commons.lang3.tuple.* quarkus.camel.native.reflection.exclude-patterns = org.apache.commons.lang3.tuple.*TripleCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要使这些选项正常工作,包含所选类的工件必须在 'application.properties' 中包含 Jandex 索引('META-INF/jandex.idx'),或者必须使用 'quarkus.index-dependency Nutanix' 选项注册它们,例如:
quarkus.index-dependency.commons-lang3.group-id = org.apache.commons quarkus.index-dependency.commons-lang3.artifact-id = commons-lang3
quarkus.index-dependency.commons-lang3.group-id = org.apache.commons quarkus.index-dependency.commons-lang3.artifact-id = commons-lang3Copy to Clipboard Copied! Toggle word wrap Toggle overflow