微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

构建失败 - 图像堆中不允许有 com.fasterxml.jackson.core.io.SerializedString 的实例

如何解决构建失败 - 图像堆中不允许有 com.fasterxml.jackson.core.io.SerializedString 的实例

我正在将现有 spring-boot 项目中的模块切换为使用 spring 本机。我的 nativeBuild 因以下错误而失败。

致命错误:com.oracle.graal.pointsto.util.AnalysisError$ParsingError: 解析时遇到错误 com.fasterxml.jackson.core.JsonFactory._createGenerator(java.io.Writer,com.fasterxml.jackson.core.io.IOContext) 解析上下文:解析 com.fasterxml.jackson.core.JsonFactory.createGenerator(JsonFactory.java:1318) 解析 com.fasterxml.jackson.databind.ObjectMapper.createGenerator(ObjectMapper.java:1164) 解析 com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:3725) 解析 a.b.c.Util.writeManifest(Util.java:61)

原因: org.graalvm.compiler.java.BytecodeParser$BytecodeParserError: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException:否 com.fasterxml.jackson.core.io.SerializedString 的实例是 允许在图像堆中,因为此类应在图像处初始化 运行。要查看此对象是如何实例化的,请使用 --trace-object-instantiation=com.fasterxml.jackson.core.io.SerializedString。 在解析 com.fasterxml.jackson.core.JsonFactory.(JsonFactory.java:186) 在 jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.throwParserError(BytecodeParser.java:2601)

这是在这代码中触发的:

  ObjectMapper mapper = new ObjectMapper();
  mapper.writeValue(writer,convertedResults);

我正在使用:

id 'org.springframework.boot' 版本 '2.5.2' id 'org.springframework.experimental.aot' 版本 '0.10.1' id 'org.graalvm.buildtools.native' 版本 '0.9.0' nativeBuild {
buildArgs("--trace-object-instantiation=com.fasterxml.jackson.core.io.SerializedString --verbose -H:+ReportExceptionStackTraces") }

openjdk 版本“11.0.11” 2021-04-20 OpenJDK 运行时环境 GraalVM CE 21.1.0(构建 11.0.11+8-jvmci-21.1-b05)OpenJDK 64 位 服务器 VM GraalVM CE 21.1.0(构建 11.0.11+8-jvmci-21.1-b05,混合 模式,分享

我尝试在一个独立的 spring 原生项目中重现这个问题,但是没有遇到同样的问题。 您对我如何进一步调查此事有任何指示吗?

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。