长亭百川云 - 文章详情

XStream 从1.3.X升级到1.4.X版本遇到问题

傲慢的上校的专栏

48

2024-07-19

一、com.thoughtworks.xstream.security.ForbiddenClassException

原来为第三方提供jar包使用XStream1.3.X版本,后来升级到1.4.X版本,第三方系统使用时遇到com.thoughtworks.xstream.security.ForbiddenClassException 问题

com.thoughtworks.xstream.security.ForbiddenClassException: com.jt.bean.xml.ComconfigParse
	at com.thoughtworks.xstream.security.NoTypePermission.allows(NoTypePermission.java:26)

解决方案:

XStream xStream = new XStream();

//由于对象默认开启安全防护,添加这条语句解决问题。尽量限制最低权限。

xStream.addPermission(AnyTypePermission.ANY);

降低权限后,解决com.thoughtworks.xstream.security.ForbiddenClassException问题

二、XML中带“_”解析不出来问题

在xml转成bean类时,发现xml中user_name 中有值,但是转换的bean类中 user_name 为空,

需要修改XStream初始化

XStream xStream = new XStream(new XppDriver(new XmlFriendlyNameCoder("_-", "_")));

因为_是关键字,默认的会变为__  
$也是关键字,默认为_-,这2个参数一个改变$的显示,一个改变_的显示

修改后,user_name 可以转换正常

相关推荐
关注或联系我们
添加百川云公众号,移动管理云安全产品
咨询热线:
4000-327-707
百川公众号
百川公众号
百川云客服
百川云客服

Copyright ©2024 北京长亭科技有限公司
icon
京ICP备 2024055124号-2