我有一个第 3 方类,它被 Quarkus 添加到构建时间初始化中,但由于静态线程使用,它需要运行时初始化。当将它添加到运行时初始化本机构建时,会抱怨它在两者中。
重新生成此内容的示例项目:https ://github.com/hshorter/quarkus-avro-decode-example
使用“--initialize-at-run-time=org.apache.avro.specific.SpecificDatumReader”:
错误:应该在运行时初始化的类在图像构建期间被初始化:org.apache.avro.specific.SpecificDatumReader 请求在构建时初始化类(从命令行)。要查看 org.apache.avro.specific.SpecificDatumReader 被初始化的原因,请使用 -H:+TraceClassInitialization
没有“--initialize-at-run-time=org.apache.avro.specific.SpecificDatumReader”:
错误:在图像堆中检测到一个已启动的线程。在图像生成器中运行的线程不再在图像运行时运行。要查看这个对象是如何被实例化的,请使用 -H:+TraceClassInitialization。该对象可能是由类初始化程序创建的,并且可以从静态字段访问。您可以使用选项 --initialize-at-build-time= 在映像运行时请求类初始化。或者您可以编写自己的初始化方法并从主入口点显式调用它们。详细信息:Trace: object org.apache.avro.specific.SpecificDatumReader
非常感谢任何帮助。