Java 构建本机quarkus映像时,我应该如何(重新)构造代码以启用运行时类初始化?

Java 构建本机quarkus映像时,我应该如何(重新)构造代码以启用运行时类初始化?,java,quarkus,graalvm,graalvm-native-image,Java,Quarkus,Graalvm,Graalvm Native Image,我正在使用quarkus构建本机映像,graal分析失败,出现错误: 错误:映像堆中不允许有sun.security.provider.NativePRNG的实例,因为此类应在映像运行时初始化。对象已在没有本机映像初始化检测的情况下初始化,无法跟踪堆栈跟踪。 详细信息: 跟踪:已通过访问对象 读取字段java.security.SecureRandom.secureRandomSpi of 常量java.security。SecureRandom@472a6481到达 扫描方法com.nimbu

我正在使用quarkus构建本机映像,graal分析失败,出现错误:

错误:映像堆中不允许有sun.security.provider.NativePRNG的实例,因为此类应在映像运行时初始化。对象已在没有本机映像初始化检测的情况下初始化,无法跟踪堆栈跟踪。
详细信息:
跟踪:已通过访问对象
读取字段java.security.SecureRandom.secureRandomSpi of
常量java.security。SecureRandom@472a6481到达
扫描方法com.nimbusds.oauth2.sdk.id.Identifier。(Identifier.java:112)
从入口点到com.nimbusds.oauth2.sdk.id.Identifier的调用路径(int):
位于com.nimbusds.oauth2.sdk.id.Identifier。(Identifier.java:105)
位于com.nimbusds.oauth2.sdk.token.token.(token.java:62)
位于com.nimbusds.oauth2.sdk.token.AccessToken.(AccessToken.java:121)
位于com.nimbusds.oauth2.sdk.token.BearerAccessToken.(BearerAccessToken.java:114)
位于ff.service.identity.application.OAuthAccessTokenProvider.generateAccessToken(OAuthAccessTokenProvider.java:78)
位于ff.service.identity.application.OAuthAccessTokenProvider.completeAccessTokenGeneration(OAuthAccessTokenProvider.java:62)
位于ff.service.identity.application.OAuthAccessTokenProvider\u ClientProxy.completeAccessTokenGeneration(OAuthAccessTokenProvider\u ClientProxy.zig:198)
at ff.service.identity.application.OAuthService.validateSignedChallenge(OAuthService.java:187)
在ff.service.identity.application.OAuthService_子类.validateSignedChallenge$$superaccessor1(OAuthService_子类.zig:258)
at ff.service.identity.application.OAuthService\ u子类$$function$$1.apply(OAuthService\ u子类$$function$$1.zig:41)
位于sun.security.ec.XECParameters$1.get(XECParameters.java:183)
位于com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:190)
位于com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:143)
位于com.oracle.svm.core.jdk.Target\u java\u lang\u System.getProperty(JavaLangSubstitutions.java:345)
在com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke\u数组:Ljava\u lang\u System\u 2\u 0002egetProperty\u 00028Ljava\u lang\u String\u 2\u 00029Ljava\u lang\u String\u 2(生成:0)
它正确且合乎逻辑地指出,应在运行时初始化随机数生成器提供程序的类。但是,与中不同的是,没有给出调用路径,因为:

对象已在没有本机映像初始化检测的情况下初始化,无法跟踪堆栈跟踪

我不知道如何重新构造代码来支持这一点,而且据我所知,我没有做任何真正奇特的事情。为了准备这个问题,我粗暴地将代码移动到一起,涉及