3.2 升级至 3.3 Hessian 与 Springboot 的问题
Srpingboot 版本3.3.5 dubbo 3.3.1 通过 gradle buildJar打成 jar 包后运行序列化会报错,疑似 META-INF 中的 dubbo/hessian/serializers 没有注册成功
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.time.LocalDate java.time.LocalDateTime.date accessible: module java.base does not "opens java.time" to unnamed module @31c88ec8
at java.base/java.lang.reflect.AccessibleObject.throwInaccessibleObjectException(AccessibleObject.java:388) ~[na:na]
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:364) ~[na:na]
at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:312) ~[na:na]
at java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:183) ~[na:na]
at java.base/java.lang.reflect.Field.setAccessible(Field.java:177) ~[na:na]
at com.alibaba.com.caucho.hessian.io.JavaSerializer.introspect(JavaSerializer.java:170) ~[hessian-lite-4.0.3.jar!/:4.0.3]
at com.alibaba.com.caucho.hessian.io.JavaSerializer.
但是用 gradle bootRun 不会报错,怀疑打包成 fatjar 后出现的问题
解压一下jar包看里面的数据看一下