-
项目第一次启动,调用
public static <T> T parseObject(String text, Class<T> clazz)
没有问题正常解析 -
修改
clazz
中的某个属性String
改为int
再次调用parseObject便会出现问题,调试到FieldDeserializer.setValue(Object object, Object value)
中的method.invoke(object, value)
-
部分信息如下
com.alibaba.fastjson.JSONException: set property error, com.....
Caused by: java.lang.reflect.InvocationTargetException at com.zeroturnaround.jrebelbase.facade.w.throwWrappedNoSuchMethodError(SourceFile:179) at com.zeroturnaround.jrebelbase.facade.w.checkMethodRemoved(SourceFile:200) at java.lang.reflect.Method.invoke(Method.java:498) at com.alibaba.fastjson.parser.deserializer.FieldDeserializer.setValue(FieldDeserializer.java:110) ... 99 more Caused by: java.lang.NoSuchMethodError: com.test.saas.integration.dto.SmartBoxDto.setiErrorCode(I)V ... 103 more
- 貌似只有在这个项目里这样,换成Gson则没有这个问题
- 开发中使用了jrebel
- 想请教下有没有什么思路能定位出现这个问题的原因,现在是能是类型变了,重新启用项目才行。