yan*_*vsh 7 reflection native kotlin quarkus
我正在构建 quarkus 本机并使用 Stripe sdk 作为外部库。为了支持Stripe sdk,我需要创建reflection-config.json文件并在application.properties中设置quarkus.native.additional-build-args=-H:ReflectionConfigurationFiles=reflection-config.json
Reflection -config.json看起来像这样:
{
"name": "com.stripe.model.Customer",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
},
{
"name": "com.stripe.model.Customer$InvoiceSettings",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
},
{
"name": "com.stripe.model.StripeError",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
},
{
"name": "com.stripe.model.PaymentIntent",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
},
{
"name": "com.stripe.model.PaymentMethod",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
}....
Run Code Online (Sandbox Code Playgroud)
等等。它包含太多类。我的问题是是否有办法设置整个包而不是大量的类?例如:
{
"name": "com.stripe.model.*",
"allDeclaredConstructors": true,
"allPublicConstructors": true,
"allDeclaredMethods": true,
"allPublicMethods": true,
"allDeclaredFields": true,
"allPublicFields": true
}
Run Code Online (Sandbox Code Playgroud)
没有找到任何提及它。
您可以使用 Quarkus 扩展来做到这一点,从索引中获取类并ReflectiveClassBuildItem为与包匹配的所有类生成一个 。
这并不难,但需要一些工作。
与您正在做的事情相比,一个不太冗长的替代方案是使用@RegisterForReflection(targets = { ... }).
这是目前唯一的选择。
| 归档时间: |
|
| 查看次数: |
5926 次 |
| 最近记录: |