BeanUtils 升级时遇到IllegalArgumentException

之前项目用到common-beanutils, 版本是1.7.2,项目在用SonarQube检测时版本太低,需要升级到1.9.4

在升级时发现会抛出异常IllegalArgumentException

经查是因为项目中有wsdl生成的web object, 其中整型定义为int 基础类型, 而POJO里面定义的为对象类型Integer

当Integer的值为null时,这时候会抛出IllegalArgumentException

同理,需要注意Double-->double, Float-->float, Long-->long, Boolean-->boolean

查询相关资料后,发现这个问题是1.8.3之后引起的,所以1.7.2最高只能升级到1.8.3, 之后需要找其它办法解决

参考: https://issues.apache.org/jira/browse/BEANUTILS-473

建议用cglib的BeanCoper替代

 

posted @ 2022-01-11 14:39  Halbert-MX  阅读(143)  评论(0)    收藏  举报