Skip to content

2.0.54直接在JDK环境中运行正常,但是使用 native-maven-plugin 打成 native-image时 反序列化 报错,回退到2.0.53正常 #3274

@wushujia789

Description

@wushujia789

问题描述

直接在JDK环境中运行正常,但是使用 native-maven-plugin 打成 native-image时 反序列化 会出现如下两种错误:
使用 native-maven-plugin 打成 native-image时 反序列化 bean对象报错:
com.alibaba.fastjson2.JSONException: illegal fieldName input 52, offset 8, character 4, line 1, column 8, fastjson-version 2.0.54 {"e":864000000,"m":1736742368812,"o":"2025-01-13 12:26:08.812truerestart"}
at com.alibaba.fastjson2.JSONReaderASCII.readFieldNameHashCode(JSONReaderASCII.java:141)
at com.alibaba.fastjson2.reader.ObjectReader3.readObject(ObjectReader3.java:286)
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:1171)
at com.kevin.test1.Test1Application.test2(Test1Application.java:56)
at com.kevin.test1.Test1Application.main(Test1Application.java:24)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)

反序列化Long类型也报错:
com.alibaba.fastjson2.JSONException: input not end, offset 11, character 9, line 1, column 11, fastjson-version 2.0.54 21972981729871998
at com.alibaba.fastjson2.JSON.parseObject(JSON.java:869)
at com.kevin.test1.Test1Application.test4(Test1Application.java:66)
at com.kevin.test1.Test1Application.main(Test1Application.java:34)
at [email protected]/java.lang.invoke.LambdaForm$DMH/sa346b79c.invokeStaticInit(LambdaForm$DMH)

回退到Fastjson2 2.0.53 后可以正常反序列化。
test1.zip

环境信息

  • OS信息: [e.g.:windows or linux]
  • JDK信息: [e.g.:graal native 21]
  • 版本信息:[e.g.:Fastjson2 2.0.54]

重现步骤

cd ~/work/workspace/testproject/test1
mvn clean package -Pnative native:compile-no-fork -DskipTests -X
~/work/workspace/testproject/test1/target/test1

期待的正确结果

能正常反序列化

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions