问题: 反序列化xml时出现Exception in thread “main” com.thoughtworks.xstream.security.ForbiddenClassException:
是因为这一行代码 XStream.setupDefaultSecurity(xStream); 导致的
解决:
XStream.setupDefaultSecurity(xStream); 的顺序修改一下即可


    public XmlStream() {
        xmlResolver = () -> {
            XStream xStream = new XStream(new DomDriver("UTF-8"));
            //将这一行代码写在此处即可
             XStream.setupDefaultSecurity(xStream);
            xStream.allowTypes(new Class[]{Animal.class, Animal.Dog.class, Animal.Dogs.class});
            xStream.processAnnotations(new Class[]{Animal.class, Animal.Dogs.class, Animal.Dog.class});
            xStream.aliasSystemAttribute(null, "class");
            xStream.aliasSystemAttribute(null, "serialization");
            
            //XStream.setupDefaultSecurity(xStream);
            return xStream;
        };
    }
Logo

助力广东及东莞地区开发者,代码托管、在线学习与竞赛、技术交流与分享、资源共享、职业发展,成为松山湖开发者首选的工作与学习平台

更多推荐